Recent Posts

Pages: [1] 2 3 4 5 6 ... 10
1
Help / Re: code::blocks hangs at startup
« Last post by blauzahn on Today at 11:02:50 am »
cb still hangs at startup on arch Linux, cb-trunk build with the distributed wx-3.2.9. In my Makefile, wxSmith plugins are disabled at configure:

Code
  (cd $(build) && \
  LT_SYS_LIBRARY_PATH=$(WX_PREFIX)/lib \
  CC=${CC} CXX=${CXX} ../$(trunk)/configure \
  --enable-debug=yes \
  --enable-pch=no \
  --prefix=$(PREFIX) \
  --with-wx-config=$(WX_PREFIX)/bin/wx-config --with-wx-prefix=$(WX_PREFIX) \
  --with-contrib-plugins=all,\
         -wxsmith,-wxsmithaui,-wxsmithcontrib,\
         -NassiShneiderman,-codesnippets,-dragscroll)

Console output at startup is:

Code
$ codeblocks
Starting Code::Blocks svn build  rev 13776 Jan 25 2026, 09:09:29 - wxWidgets 3.2.9 - gcc 15.2.1 (Linux, unicode) - 64 bit
Manager initialisiert
Initialize EditColourSet .....
Initialize EditColourSet: done.
Loading menubar...
/usr/src/debug/wxwidgets/wxWidgets/src/common/object.cpp(233):
assert "classTable->Get(m_className) == __null" failed in Register(): Class "wxAnyValueTypeGlobalsManager"
already in RTTI table - have you used wxIMPLEMENT_DYNAMIC_CLASS() multiple times or linked some object file twice)?


Please note the assert. I have seen this a few times over the years. I use an out of tree build. The installation directories of cb are pristine and without stale files. I verified this, recompiled, reinstalled but the assert remains.

Run in gdb, similar lines replaced with [...]:

Code
$ gdb /usr/local/bin/codeblocks
GNU gdb (GDB) 17.1
[...]
Reading symbols from /usr/local/bin/codeblocks...
(gdb) r
Starting program: /usr/local/bin/codeblocks
[...]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
[New Thread 0x7fffefdff6c0 (LWP 143300)]
[...]
[New Thread 0x7fffed5fa6c0 (LWP 143305)]
Starting Code::Blocks svn build  rev 13776 Jan 25 2026, 09:09:29 - wxWidgets 3.2.9 - gcc 15.2.1 (Linux, unicode) - 64 bit
Manager initialisiert
Initialize EditColourSet .....
[New Thread 0x7fffd7fff6c0 (LWP 143705)]
[New Thread 0x7fffd77fe6c0 (LWP 143706)]
[New Thread 0x7fffd6ffd6c0 (LWP 143707)]
Initialize EditColourSet: done.
Loading menubar...
[New Thread 0x7fffd67fc6c0 (LWP 143906)]
[...]
[New Thread 0x7fffd4ff96c0 (LWP 143912)]
[Detaching after fork from child process 143913]
[New Thread 0x7fffd4df86c0 (LWP 143916)]
[Detaching after fork from child process 143917]
/usr/src/debug/wxwidgets/wxWidgets/src/common/object.cpp(233): assert "classTable->Get(m_className) == __null" failed in Register(): Class "wxAnyValueTypeGlobalsManager" already in RTTI table - have you used wxIMPLEMENT_DYNAMIC_CLASS() multiple times or linked some object file twice)?
[New Thread 0x7fffd43ff6c0 (LWP 143923)]
[Thread 0x7fffd4ff96c0 (LWP 143912) exited]
^C
Thread 1 "codeblocks" received signal SIGINT, Interrupt.
0x00007ffff4d1876d in syscall () from /usr/lib/libc.so.6

cb hangs here; Ctrl-C pressed yields this backtrace:

Code

(gdb) bt
#0  0x00007ffff4d1876d in syscall () from /usr/lib/libc.so.6
#1  0x00007ffff4230905 in ?? () from /usr/lib/libglycin-2.so.0
#2  0x00007ffff416532e in gly_loader_load () from /usr/lib/libglycin-2.so.0
#3  0x00007ffff647a704 in ?? () from /usr/lib/libgdk_pixbuf-2.0.so.0
#4  0x00007ffff647ac62 in ?? () from /usr/lib/libgdk_pixbuf-2.0.so.0
#5  0x00007ffff6464e32 in gdk_pixbuf_loader_close () from /usr/lib/libgdk_pixbuf-2.0.so.0
#6  0x00007ffff5f04014 in ?? () from /usr/lib/libgtk-3.so.0
[...]
#21 0x00007ffff5f009b5 in ?? () from /usr/lib/libgtk-3.so.0
#22 0x00007ffff612197c in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#23 0x00007ffff6140bf3 in ?? () from /usr/lib/libgobject-2.0.so.0
#24 0x00007ffff6142b0f in ?? () from /usr/lib/libgobject-2.0.so.0
#25 0x00007ffff6142d89 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#26 0x00007ffff6142e44 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#27 0x00007ffff5eddde2 in gtk_widget_show () from /usr/lib/libgtk-3.so.0
#28 0x00007ffff5cc4089 in gtk_dialog_run () from /usr/lib/libgtk-3.so.0
#29 0x00007ffff6b40935 in wxGUIAppTraits::ShowAssertDialog(wxString const&) () from /usr/lib/libwx_gtk3u_core-3.2.so.0
#30 0x00007ffff6282382 in ?? () from /usr/lib/libwx_baseu-3.2.so.0
#31 0x00007ffff6282589 in wxAppConsoleBase::OnAssertFailure(wchar_t const*, int, wchar_t const*, wchar_t const*, wchar_t const*) ()
   from /usr/lib/libwx_baseu-3.2.so.0
#32 0x00007ffff6b0448d in wxApp::OnAssertFailure(wchar_t const*, int, wchar_t const*, wchar_t const*, wchar_t const*) ()
   from /usr/lib/libwx_gtk3u_core-3.2.so.0
#33 0x00007ffff62827a2 in ?? () from /usr/lib/libwx_baseu-3.2.so.0
#34 0x00007ffff627ca5e in wxOnAssert(char const*, int, char const*, char const*, wxString const&) () from /usr/lib/libwx_baseu-3.2.so.0
#35 0x00007ffff6300c0d in wxClassInfo::Register() () from /usr/lib/libwx_baseu-3.2.so.0
#36 0x00007fffd449bb33 in wxClassInfo::wxClassInfo (this=0x7fffd4721ec0 <wxAnyValueTypeGlobalsManager::ms_classInfo>,
    className=0x7fffd463d368 L"wxAnyValueTypeGlobalsManager", baseInfo1=0x7ffff6441860 <wxModule::ms_classInfo>, baseInfo2=0x0, size=72,
    ctor=0x7fffd449a3e2 <wxAnyValueTypeGlobalsManager::wxCreateObject()>) at ../trunk/include/wx/rtti.h:87
#37 0x00007fffd449ae7a in __static_initialization_and_destruction_0 () at ../trunk/src/common/any.cpp:226
#38 0x00007fffd449b2d8 in _GLOBAL__sub_I_any.cpp(void) () at ../trunk/src/common/any.cpp:499
#39 0x00007ffff7fc82a7 in ?? () from /lib64/ld-linux-x86-64.so.2
#40 0x00007ffff7fc837d in ?? () from /lib64/ld-linux-x86-64.so.2
#41 0x00007ffff7fc44f5 in _dl_catch_exception () from /lib64/ld-linux-x86-64.so.2
#42 0x00007ffff7fcf2a9 in ?? () from /lib64/ld-linux-x86-64.so.2
#43 0x00007ffff7fc4456 in _dl_catch_exception () from /lib64/ld-linux-x86-64.so.2
#44 0x00007ffff7fcf75a in ?? () from /lib64/ld-linux-x86-64.so.2
#45 0x00007ffff4c92cc4 in ?? () from /usr/lib/libc.so.6
#46 0x00007ffff7fc4456 in _dl_catch_exception () from /lib64/ld-linux-x86-64.so.2
#47 0x00007ffff7fc45a9 in ?? () from /lib64/ld-linux-x86-64.so.2
#48 0x00007ffff4c927b3 in ?? () from /usr/lib/libc.so.6
--Type <RET> for more, q to quit, c to continue without paging--
#49 0x00007ffff4c92d7b in dlopen () from /usr/lib/libc.so.6
#50 0x00007ffff6372388 in wxDynamicLibrary::RawLoad(wxString const&, int) () from /usr/lib/libwx_baseu-3.2.so.0
#51 0x00007ffff62a6c4c in wxDynamicLibrary::Load(wxString const&, int) () from /usr/lib/libwx_baseu-3.2.so.0
#52 0x00007ffff7a0e381 in LibLoader::LoadLibrary (filename=...) at ../../../trunk/src/sdk/pluginmanager.cpp:121
#53 0x00007ffff7a0a216 in PluginManager::LoadPlugin (this=0x55555692ece0, pluginName=...) at ../../../trunk/src/sdk/pluginmanager.cpp:1104
#54 0x00007ffff7a09c53 in PluginManager::ScanForPlugins (this=0x55555692ece0, path=...) at ../../../trunk/src/sdk/pluginmanager.cpp:1067
#55 0x00005555556d3423 in MainFrame::ScanForPlugins (this=0x5555560feed0) at ../../../trunk/src/src/main.cpp:1496
#56 0x00005555556caef3 in MainFrame::MainFrame (this=0x5555560feed0, parent=0x0) at ../../../trunk/src/src/main.cpp:794
#57 0x0000555555639fb3 in CodeBlocksApp::InitFrame (this=0x555555909dd0) at ../../../trunk/src/src/app.cpp:554
#58 0x000055555563ba4d in CodeBlocksApp::OnInit (this=0x555555909dd0) at ../../../trunk/src/src/app.cpp:785
#59 0x00005555556454e7 in wxAppConsoleBase::CallOnInit (this=0x555555909dd0) at /usr/include/wx-3.2/wx/app.h:93
#60 0x00007ffff62ec1b2 in wxEntry(int&, wchar_t**) () from /usr/lib/libwx_baseu-3.2.so.0
#61 0x00005555556397b6 in main (argc=1, argv=0x7fffffffdf88) at ../../../trunk/src/src/app.cpp:365
(gdb)

As before, libglycin-2 seems to be involved.

When I build and install curren wx trunk locally in /opt/wx trunk cb fails to compile:

Code
make[5]: Entering directory 'src/sdk/scripting/bindings'
depbase=`echo sc_wxtypes.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
/bin/sh ../../../../libtool  --tag=CXX   --mode=compile g++ -std=c++11 -DHAVE_CONFIG_H -I. -I../../../../../trunk/src/sdk/scripting/bindings -I../../../../src/include  -I/opt/wx/lib/wx/include/gtk3-unicode-3.3 -I/opt/wx/include/wx-3.3 -D_FILE_OFFSET_BITS=64 -DWXUSINGDLL -D__WXGTK__ -pthread -I../../../../../trunk/src/include/scripting/include -I../../../../../trunk/src/include -I../../../../../trunk/src/sdk/wxscintilla/include  -DCB_AUTOCONF -DDEBUG -DcbDEBUG  -DPIC -I../../../../../trunk/src/include/tinyxml -DTIXML_USE_STL=YES  -g  -fPIC -fexceptions -MT sc_wxtypes.lo -MD -MP -MF $depbase.Tpo -c -o sc_wxtypes.lo ../../../../../trunk/src/sdk/scripting/bindings/sc_wxtypes.cpp &&\
mv -f $depbase.Tpo $depbase.Plo
libtool: compile:  g++ -std=c++11 -DHAVE_CONFIG_H -I. -I../../../../../trunk/src/sdk/scripting/bindings -I../../../../src/include -I/opt/wx/lib/wx/include/gtk3-unicode-3.3 -I/opt/wx/include/wx-3.3 -D_FILE_OFFSET_BITS=64 -DWXUSINGDLL -D__WXGTK__ -pthread -I../../../../../trunk/src/include/scripting/include -I../../../../../trunk/src/include -I../../../../../trunk/src/sdk/wxscintilla/include -DCB_AUTOCONF -DDEBUG -DcbDEBUG -DPIC -I../../../../../trunk/src/include/tinyxml -DTIXML_USE_STL=YES -g -fPIC -fexceptions -MT sc_wxtypes.lo -MD -MP -MF .deps/sc_wxtypes.Tpo -c ../../../../../trunk/src/sdk/scripting/bindings/sc_wxtypes.cpp  -fPIC -DPIC -o .libs/sc_wxtypes.o
../../../../../trunk/src/sdk/scripting/bindings/sc_wxtypes.cpp: In function 'void ScriptBindings::Register_wxTypes(HSQUIRRELVM)':
../../../../../trunk/src/sdk/scripting/bindings/sc_wxtypes.cpp:1078:19: error: no matches converting function 'NoParamGetterInt' to type 'SQFUNCTION' {aka 'long long int (*)(struct SQVM*)'}
 1078 |         BindMethod(v, _SC("Blue"), NoParamGetterInt<wxColour::ChannelType, wxColour, &wxColour::Blue>, _SC("wxColour::Blue"));
      |         ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../../../../../trunk/src/sdk/scripting/bindings/sc_wxtypes.cpp:17:
../../../../../trunk/src/include/scripting/bindings/sc_utils.h:992:11: note: candidate is: 'template<class ReturnType, class ClassType, ReturnType (ClassType::* func)() const> SQInteger ScriptBindings::NoParamGetterInt(HSQUIRRELVM)'
  992 | SQInteger NoParamGetterInt(HSQUIRRELVM v)
      |           ^~~~~~~~~~~~~~~~
../../../../../trunk/src/sdk/scripting/bindings/sc_wxtypes.cpp:1079:19: error: no matches converting function 'NoParamGetterInt' to type 'SQFUNCTION' {aka 'long long int (*)(struct SQVM*)'}
 1079 |         BindMethod(v, _SC("Green"), NoParamGetterInt<wxColour::ChannelType, wxColour, &wxColour::Green>, _SC("wxColour::Green"));
      |         ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../trunk/src/include/scripting/bindings/sc_utils.h:992:11: note: candidate is: 'template<class ReturnType, class ClassType, ReturnType (ClassType::* func)() const> SQInteger ScriptBindings::NoParamGetterInt(HSQUIRRELVM)'
  992 | SQInteger NoParamGetterInt(HSQUIRRELVM v)
      |           ^~~~~~~~~~~~~~~~
../../../../../trunk/src/sdk/scripting/bindings/sc_wxtypes.cpp:1080:19: error: no matches converting function 'NoParamGetterInt' to type 'SQFUNCTION' {aka 'long long int (*)(struct SQVM*)'}
 1080 |         BindMethod(v, _SC("Red"), NoParamGetterInt<wxColour::ChannelType, wxColour, &wxColour::Red>, _SC("wxColour::Red"));
      |         ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../trunk/src/include/scripting/bindings/sc_utils.h:992:11: note: candidate is: 'template<class ReturnType, class ClassType, ReturnType (ClassType::* func)() const> SQInteger ScriptBindings::NoParamGetterInt(HSQUIRRELVM)'
  992 | SQInteger NoParamGetterInt(HSQUIRRELVM v)
      |           ^~~~~~~~~~~~~~~~
../../../../../trunk/src/sdk/scripting/bindings/sc_wxtypes.cpp:1081:19: error: no matches converting function 'NoParamGetterInt' to type 'SQFUNCTION' {aka 'long long int (*)(struct SQVM*)'}
 1081 |         BindMethod(v, _SC("Alpha"), NoParamGetterInt<wxColour::ChannelType, wxColour, &wxColour::Alpha>, _SC("wxColour::Alpha"));
      |         ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../trunk/src/include/scripting/bindings/sc_utils.h:992:11: note: candidate is: 'template<class ReturnType, class ClassType, ReturnType (ClassType::* func)() const> SQInteger ScriptBindings::NoParamGetterInt(HSQUIRRELVM)'
  992 | SQInteger NoParamGetterInt(HSQUIRRELVM v)
      |           ^~~~~~~~~~~~~~~~
make[5]: *** [Makefile:534: sc_wxtypes.lo] Error 1

I had this compile error since autum. Currently, I am able to compile and run cb with wx-trunk set back to this commit:

Code
Autor: Eran Ifrah <eran@codelite.org>  2025-10-29 19:13:14
Eintragender: Vadim Zeitlin <vadim@wxwidgets.org>  2025-11-01 16:06:17
Eltern: 4bf58e23b69480166b34d326ce06385e6c97f916 (Fix a small typo in wxStyledTextCtrlMiniMap comment)

My wxWidgets has been configured for years this way:

Code
  mkdir -p $(BUILD)
  (cd $(BUILD) && ../$(TRUNK)/configure --prefix=$(WX_PREFIX) --with-cxx=17 --with-gtk --without-libtiff --enable-debug)

Please note: wx installed in /opt/wx requires ld to find it when linking cb:

Code
echo $(WX_PREFIX)/lib >/etc/ld.so.conf.d/wxwidgets.conf
2
Help / Re: code::blocks hangs at startup
« Last post by JorgenBest on Today at 10:20:07 am »
The 25-03-2 version that I have still has this problem, but that's the regular version and not a nightly build or so.

I have difficulties installing all kinds of sources. I think I need something that is not yet out and I'm not to trusted with finding the right sources, dependencies and compilation myself. I use Arch Linux as rolling release platform (version 25-03-2), but there are no updates that yet worked to solve this problem. Also on aur nothing is yet more recent available.

So you help me I gladly test something if I can install and reverse it easily on my system.
3
Nightly builds / Re: The 06 December 2025 build (13761) is out.
« Last post by ChosenName on Today at 09:24:36 am »
Whatever tool is used to create the compiler options checklist seems to fail when it encounters a mingw-w64 GCC compiler version that it does not "know", i.e.:
When the selected compiler is reverted to a compiler that the tool "knows" it does not go back to the checklist and stays with the blank tab.
As requested last year when you posted what looks like the same issue can you post instructions on how to re-create this and include the OS and CB version you are using.
My apologies for failing to follow up on my report from last year.

OS: Windows 11, currently update 25H2;
CB: various, currently 13761;

Steps:
1) Compile latest mingw-w64 using MSYS2 and https://github.com/niXman/mingw-builds, in this case based on GCC 15.2;
2) Copy mingw-w64 to location where I keep all of my compilers (based on GCC 10.5, 11.5, 12.5, 13.4, 14.3 & 15.2);
3) Set up the new compiler version option in CB settings (by copying and renaming an existing one as they are adjacent in the list, remembering to set the toolchain executables path);
4) Select new compiler version as a build target in a project;
5) Compile using new compiler version;
6) Close project at end of session;
7) Open project;
8] Observe missing list & checkboxes in compiler flags tab of project build options for all compilers, not just the latest compiler version.
4
Not exactly, in my case it's about inherited classes.
For example, we have a first class that inherits from wxPanel: wxMyPanel. Then a second class that inherits from wxMyPanel with different parameters. For this second class, we don't want to use the Create function but inheritance directly in the constructor.
This is also possible with first class. For example:
Header:
Code
class wxMyPanel: public wxPanel
{
  public:

    wxMyPanel(wxWindow* parent, wxWindowID id);
    virtual ~wxMyPanel();

  protected:
     // Other declarations
};
Code:
Code
wxMyPanel::wxMyPanel(wxWindow* parent, wxWindowID id)
{
  //(*Initialize(wxMyPanel)

  Create(parent, id, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL, _T("id"));
  // Other declarations
}

Or directly:
Code
wxMyPanel::wxMyPanel(wxWindow* parent, wxWindowID id): wxPanel(parent, id)
{
  //(*Initialize(wxMyPanel)

  // Other declarations
}
5
Hi, I use some my own defined wxWidgets control from time to time. When I try to add this custom control in the wxSmith GUI designer, you can select the "Custom" control, and define the constructor yourself.

Is this the case I describe above?
6
I looked at some source code here:

\src\plugins\contrib\wxSmith\wxwidgets\properties\wxscolourproperty.cpp

I see some function get override, such as:

Code
    // This is based on the code of wxSystemColourProperty in advprops.h|cpp of wxPropertyGrid
    class wxsMyColourPropertyClass : public wxEnumProperty
    {
        WX_PG_DECLARE_PROPERTY_CLASS(wxsMyColourPropertyClass)
    public:

        wxsMyColourPropertyClass( const wxString& label = wxEmptyString,
                                const wxString& name = wxPG_LABEL,
                                const wxColourPropertyValue& value = wxColourPropertyValue(wxsCOLOUR_DEFAULT,*wxWHITE) );
        ~wxsMyColourPropertyClass();

        virtual void OnSetValue();
        virtual bool IntToValue( wxVariant& variant, int number, int argFlags = 0 ) const;

        /** Override in derived class to customize how colours are printed as strings.
        */
        virtual wxString ColourToString( const wxColour& col, int index, int argFlags = 0 ) const;

        /** Returns index of entry that triggers colour picker dialog
            (default is last).
        */
        virtual int GetCustomColourIndex() const;

        virtual wxString ValueToString( wxVariant& value, int argFlags = 0 ) const;
        virtual bool StringToValue( wxVariant& variant,
                                    const wxString& text,
                                    int argFlags = 0 ) const;

Do you mean that we need to add a special function overloading here?

See here:

https://docs.wxwidgets.org/3.3/classwx_p_g_property.html


I see VZ(wx developer) just close my issue, and he suggest that we need to override some functions myself.

Am I correct?



EDIT:

See this code in

https://github.com/wxWidgets/wxWidgets/blob/master/src/propgrid/advprops.cpp#L1102C1-L1182C2


Code
#if WXWIN_COMPATIBILITY_3_2
// By call to obsolete function we want to check if user-overriden function is still in use
wxString wxSystemColourProperty::ColourToStringWithCheck(const wxColour& col, int index,
                                                         wxPGPropValFormatFlags flags) const
{
    m_oldColourToStringCalled = false;
    wxString res = ColourToString(col, index, static_cast<int>(flags));
    if ( m_oldColourToStringCalled )
    {
        // Our own function was called - this implies that call was forwarded to the new overriding
        // function and there is no need to call it explicitly.
    }
    else
    {   // User-overriden obsolete function was called
        wxFAIL_MSG(wxString::Format("in %s use ColourToString with 'flags' argument as wxPGPropValFormatFlags", GetClassInfo()->GetClassName()));
    }
    return res;
}
#endif // WXWIN_COMPATIBILITY_3_2


wxString wxSystemColourProperty::ColourToString( const wxColour& col,
                                                 int index,
                                                 wxPGPropValFormatFlags flags ) const
{


    if ( index == wxNOT_FOUND )
    {


        if ( !!(flags & wxPGPropValFormatFlags::FullValue) || !!(m_flags & wxPGPropertyFlags_ColourHasAlpha) )
        {
            return wxString::Format(wxS("(%i,%i,%i,%i)"),
                                    (int)col.Red(),
                                    (int)col.Green(),
                                    (int)col.Blue(),
                                    (int)col.Alpha());
        }
        else
        {
            return wxString::Format(wxS("(%i,%i,%i)"),
                                    (int)col.Red(),
                                    (int)col.Green(),
                                    (int)col.Blue());
        }
    }
    else
    {
        return m_choices.GetLabel(index);
    }
}


wxString wxSystemColourProperty::ValueToString( wxVariant& value,
                                                wxPGPropValFormatFlags flags ) const
{
    wxColourPropertyValue val = GetVal(&value);


    int index;


    if ( !!(flags & wxPGPropValFormatFlags::ValueIsCurrent) )
    {
        // GetIndex() only works reliably if wxPGPropValFormatFlags::ValueIsCurrent flag is set,
        // but we should use it whenever possible.
        index = GetIndex();


        // If custom colour was selected, use invalid index, so that
        // ColourToString() will return properly formatted colour text.
        if ( index == GetCustomColourIndex() &&
             !(m_flags & wxPGPropertyFlags_HideCustomColour) )
            index = wxNOT_FOUND;
    }
    else
    {
        index = m_choices.Index(val.m_type);
    }


#if WXWIN_COMPATIBILITY_3_2
    // Special implementation with check if user-overriden obsolete function is still in use
    return ColourToStringWithCheck(val.m_colour, index, flags);
#else
    return ColourToString(val.m_colour, index, flags);
#endif // WXWIN_COMPATIBILITY_3_2 | !WXWIN_COMPATIBILITY_3_2
}


https://github.com/wxWidgets/wxWidgets/blob/8245e1073ae66fd246d2ec180160d2e20acf3644/interface/wx/propgrid/advprops.h#L92C1-L168C1

This is the header file.
7
Nightly builds / Re: The 06 December 2025 build (13761) is out.
« Last post by AndrewCot on Yesterday at 10:57:54 pm »
Whatever tool is used to create the compiler options checklist seems to fail when it encounters a mingw-w64 GCC compiler version that it does not "know", i.e.:
When the selected compiler is reverted to a compiler that the tool "knows" it does not go back to the checklist and stays with the blank tab.
As requested last year when you posted what looks like the same issue can you post instructions on how to re-create this and include the OS and CB version you are using.
8
Development / Re: wxSmith : add option for Create function in inhereited cases
« Last post by LR83 on Yesterday at 05:25:13 pm »
I try to add the option.
- Add m_Create property in wxsBaseProperties
- wxsItem::GetCreatePrefix, test the m_Create property. If false, I just add '//' before the Create function. So we can always see the parameters of the Create function (may be usefull).
Work for my project but I don't know if my solution is always good.
See the corrected files in the attachment.
9
I see that the propgrid sample in the wx3.3.1 works fine. So, maybe it is still something wrong inside our C::B code base?
10
Nightly builds / Re: The 06 December 2025 build (13761) is out.
« Last post by ChosenName on Yesterday at 12:03:05 pm »
Whatever tool is used to create the compiler options checklist seems to fail when it encounters a mingw-w64 GCC compiler version that it does not "know", i.e.:



When the selected compiler is reverted to a compiler that the tool "knows" it does not go back to the checklist and stays with the blank tab.
Pages: [1] 2 3 4 5 6 ... 10