Skip to content

(wxMSW 3.3.0) wxNotebook causes exception when closing the application (destroying frame) ONLY in dark mode. #25499

Description

@buzzdx

Hey guys,

so I updated my app to wxWidgets 3.3.0 to try out the new dark mode. When running the app in light more everything works fine, no errors in the debugger. However, when I set it to use dark mode, on closing the app an exception is thrown.

The debugger says "Exception at 0x0000000000000000. Access violation while executing at 0x0000000000000000.".

Looking at the stacktrace, it seems that MSWNotebookOnPaint is still running even though the app should be shutting down.

Stacktrace:

 	0000000000000000()	Unbekannt
>	DataHub.exe!wxNotebook::MSWNotebookPaint(wxDC & dc) Zeile 1254	C++
 	DataHub.exe!wxNotebook::OnPaint(wxPaintEvent & event) Zeile 1368	C++
 	DataHub.exe!wxAppConsoleBase::HandleEvent(wxEvtHandler * handler, void(wxEvtHandler::*)(wxEvent &) func, wxEvent & event) Zeile 663	C++
 	DataHub.exe!wxAppConsoleBase::CallEventHandler(wxEvtHandler * handler, wxEventFunctor & functor, wxEvent & event) Zeile 675	C++
 	DataHub.exe!wxEvtHandler::ProcessEventIfMatchesId(const wxEventTableEntryBase & entry, wxEvtHandler * handler, wxEvent & event) Zeile 1467	C++
 	DataHub.exe!wxEvtHandler::SearchDynamicEventTable(wxEvent & event) Zeile 1927	C++
 	DataHub.exe!wxEvtHandler::TryHereOnly(wxEvent & event) Zeile 1650	C++
 	DataHub.exe!wxEvtHandler::TryBeforeAndHere(wxEvent & event) Zeile 4072	C++
 	DataHub.exe!wxEvtHandler::ProcessEventLocally(wxEvent & event) Zeile 1587	C++
 	DataHub.exe!wxEvtHandler::ProcessEvent(wxEvent & event) Zeile 1560	C++
 	DataHub.exe!wxEvtHandler::SafelyProcessEvent::__l2::<Lambdafunktion>() Zeile 1675	C++
 	DataHub.exe!wxSafeCall<bool,bool <Lambdafunktion>(void),bool <Lambdafunktion>(void)>(const wxEvtHandler::SafelyProcessEvent::__l2::bool <Lambdafunktion>(void) & func, const wxEvtHandler::SafelyProcessEvent::__l2::bool <Lambdafunktion>(void) & handler) Zeile 40	C++
 	DataHub.exe!wxEvtHandler::SafelyProcessEvent(wxEvent & event) Zeile 1683	C++
 	DataHub.exe!wxWindowBase::HandleWindowEvent(wxEvent & event) Zeile 1511	C++
 	DataHub.exe!wxWindow::HandlePaint() Zeile 5406	C++
 	DataHub.exe!wxWindow::MSWHandleMessage(__int64 * result, unsigned int message, unsigned __int64 wParam, __int64 lParam) Zeile 3190	C++
 	DataHub.exe!wxWindow::MSWWindowProc(unsigned int message, unsigned __int64 wParam, __int64 lParam) Zeile 3975	C++
 	DataHub.exe!wxWndProc(HWND__ * hWnd, unsigned int message, unsigned __int64 wParam, __int64 lParam) Zeile 3020	C++
 	[Externer Code]	
 	DataHub.exe!wxWindow::MSWDefWindowProc(unsigned int nMsg, unsigned __int64 wParam, __int64 lParam) Zeile 2570	C++
 	DataHub.exe!wxWindow::MSWWindowProc(unsigned int message, unsigned __int64 wParam, __int64 lParam) Zeile 3981	C++
 	DataHub.exe!wxWndProc(HWND__ * hWnd, unsigned int message, unsigned __int64 wParam, __int64 lParam) Zeile 3020	C++
 	[Externer Code]	
 	DataHub.exe!wxStaticBitmap::MSWReplaceImageHandle(void * handle) Zeile 229	C++
 	DataHub.exe!wxStaticBitmap::Free() Zeile 164	C++
 	DataHub.exe!wxStaticBitmap::~wxStaticBitmap() Zeile 77	C++
 	[Externer Code]	
 	DataHub.exe!wxWindowBase::Destroy() Zeile 570	C++
 	DataHub.exe!wxWindowBase::DestroyChildren() Zeile 602	C++
 	DataHub.exe!wxWindow::~wxWindow() Zeile 414	C++
 	[Externer Code]	
 	DataHub.exe!wxWindowBase::Destroy() Zeile 570	C++
 	DataHub.exe!wxWindowBase::DestroyChildren() Zeile 602	C++
 	DataHub.exe!wxWindow::~wxWindow() Zeile 414	C++
 	DataHub.exe!wxControlBase::~wxControlBase() Zeile 47	C++
 	[Externer Code]	
 	DataHub.exe!wxNotebook::~wxNotebook() Zeile 318	C++
 	[Externer Code]	
 	DataHub.exe!wxWindowBase::Destroy() Zeile 570	C++
 	DataHub.exe!wxWindowBase::DestroyChildren() Zeile 602	C++
 	DataHub.exe!wxWindow::~wxWindow() Zeile 414	C++
 	[Externer Code]	
 	DataHub.exe!wxNonOwnedWindow::~wxNonOwnedWindow() Zeile 157	C++
 	DataHub.exe!wxTopLevelWindowBase::~wxTopLevelWindowBase() Zeile 100	C++
 	DataHub.exe!wxTopLevelWindowMSW::~wxTopLevelWindowMSW() Zeile 523	C++
 	[Externer Code]	
 	DataHub.exe!wxFrameBase::~wxFrameBase() Zeile 167	C++
 	DataHub.exe!wxFrame::~wxFrame() Zeile 161	C++
 	DataHub.exe!MainFrm::~MainFrm() Zeile 671	C++
 	[Externer Code]	
 	DataHub.exe!wxAppConsoleBase::DeletePendingObjects() Zeile 643	C++
 	DataHub.exe!wxAppConsoleBase::ProcessIdle() Zeile 446	C++
 	DataHub.exe!wxAppBase::ProcessIdle() Zeile 409	C++
 	DataHub.exe!wxEventLoopBase::ProcessIdle() Zeile 117	C++
 	DataHub.exe!wxEventLoopManual::DoRunLoop() Zeile 278	C++
 	DataHub.exe!wxEventLoopManual::DoRun::__l4::<Lambdafunktion>() Zeile 369	C++
 	DataHub.exe!wxSafeCall<void,void <Lambdafunktion>(void),void <Lambdafunktion>(void)>(const wxEventLoopManual::DoRun::__l4::void <Lambdafunktion>(void) & func, const wxEventLoopManual::DoRun::__l4::void <Lambdafunktion>(void) & handler) Zeile 40	C++
 	DataHub.exe!wxEventLoopManual::DoRun() Zeile 364	C++
 	DataHub.exe!wxEventLoopBase::Run() Zeile 88	C++
 	DataHub.exe!wxAppConsoleBase::MainLoop() Zeile 380	C++
 	DataHub.exe!wxAppConsoleBase::OnRun() Zeile 292	C++
 	DataHub.exe!wxAppBase::OnRun() Zeile 348	C++
 	DataHub.exe!wxEntryReal::__l2::<Lambdafunktion>() Zeile 576	C++
 	DataHub.exe!wxSafeCall<int,int <Lambdafunktion>(void),int <Lambdafunktion>(void)>(const wxEntryReal::__l2::int <Lambdafunktion>(void) & func, const wxEntryReal::__l2::int <Lambdafunktion>(void) & handler) Zeile 40	C++
 	DataHub.exe!wxEntryReal(int & argc, wchar_t * * argv) Zeile 557	C++
 	DataHub.exe!wxEntry(int & argc, wchar_t * * argv) Zeile 166	C++
 	DataHub.exe!wxEntry(HINSTANCE__ * hInstance, HINSTANCE__ * __formal, char * __formal, int nCmdShow) Zeile 227	C++
 	DataHub.exe!WinMain(HINSTANCE__ * hInstance, HINSTANCE__ * hPrevInstance, char * lpCmdLine, int nCmdShow) Zeile 17	C++
  • wxWidgets version you use: 3.3.0
  • wxWidgets port you use: wxMSW
  • OS and its version: win11 24h2

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

MSWdark modeMSW dark mode implementation

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions