[Bug]: Pressing OK/Apply in Settings window results in assertion
What happened?
Pressing OK or Apply buttons in Settings window results in assertion
ASSERT INFO: /usr/src/debug/wxwidgets/wxWidgets-3.2.2.1/src/common/event.cpp(1930): assert "nNew != dynamicEvents.size()" failed in SearchDynamicEventTable().
BACKTRACE: [1] wxEvtHandler::SearchDynamicEventTable(wxEvent&) [2] wxEvtHandler::TryHereOnly(wxEvent&) [3] wxEvtHandler::ProcessEventLocally(wxEvent&) [4] wxEvtHandler::ProcessEvent(wxEvent&) [5] EventNotifier::ProcessEvent(wxEvent&) [6] wxEvtHandler::ProcessPendingEvents() [7] wxApp::DoIdle() [8] g_main_context_dispatch [9] g_main_loop_run [10] gtk_main [11] wxGUIEventLoop::DoRun() [12] wxEventLoopBase::Run() [13] wxAppConsoleBase::MainLoop() [14] wxEntry(int&, wchar_t**) [15] main [16] __libc_start_main [17] _start
Seen on latest CL from master branch (on archlinux)
Version
Self compiled
Operating system
Linux
Steps to reproduce
No response
Relevant log output
No response
Follow up:
Did another build on another archlinux - and here the problem does not seem to occur...
Will need to investigate some more...
I done clean builds with latest master on both systems (both are archlinux's fully updated and fairly identical) One system is ok - the other asserts when pressing OK/Apply in preferences dialog... hmm ...still investigating...
this means that on one box you have built wx with assertions enabled, and on the other without it. You can check this:
Ctrl-Alt-Middle mouse and see the wx info
It must be something else - WX is not built locally - both are using the same stock wx from the archlinux distribution wxwidgets-common 3.2.2.1-1 wxwidgets-gtk3 3.2.2.1-1
From the message box - identical on both systems
wxWidgets Library (wxGTK port) Version 3.2.2 (Unicode: wchar_t, debug level: 1), compiled at Feb 13 2023 15:34:44
Runtime version of toolkit used is 3.24. Compile-time GTK+ version is 3.24.36.
Copyright (c) 1992-2023 wxWidgets team
Now I managed to recreate the assertion on both systems - here is the steps:
-
Do a Debug build of codelite (with -DCMAKE_BUILD_TYPE=Debug)
-
Delete the config/settings dir (~/.codelite-dbg) in order to let codelite generate new settings.
-
start codelite
-
Open "Preferences" dialog through menu "Settings | Preferences"
-
Press Ok in "Preferences" dialog - assertion now appears