X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e2f3bc41106f177e3d4ab717961c1a2469abdbef..9d5507f7a2701395e1d5c121bd877bb9066ee6ea:/src/gtk/app.cpp diff --git a/src/gtk/app.cpp b/src/gtk/app.cpp index 12b3f4dfdd..f530f0998c 100644 --- a/src/gtk/app.cpp +++ b/src/gtk/app.cpp @@ -521,16 +521,21 @@ void wxApp::CleanUp() { if (m_idleSourceId != 0) g_source_remove(m_idleSourceId); -#if wxUSE_THREADS - delete m_idleMutex; - m_idleMutex = NULL; -#endif + // release reference acquired by Initialize() g_type_class_unref(g_type_class_peek(GTK_TYPE_WIDGET)); gdk_threads_leave(); wxAppBase::CleanUp(); + + // delete this mutex as late as possible as it's used from WakeUpIdle(), in + // particular do it after calling the base class CleanUp() which can result + // in it being called +#if wxUSE_THREADS + delete m_idleMutex; + m_idleMutex = NULL; +#endif } void wxApp::WakeUpIdle()