From fb5286d047ce8dac14095d0ac4750251370feeac Mon Sep 17 00:00:00 2001 From: Paul Cornett Date: Sat, 17 Dec 2016 10:24:29 -0800 Subject: [PATCH] Dispose of GtkWidgets used by wxSystemSettings (cherry picked from commit 4691926791ebd49e7db0c4b018f3d5bf29779733) --- src/gtk/settings.cpp | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/gtk/settings.cpp b/src/gtk/settings.cpp index ff8c06fb1e..8bddf252fc 100644 --- a/src/gtk/settings.cpp +++ b/src/gtk/settings.cpp @@ -33,14 +33,16 @@ bool wxGetFrameExtents(GdkWindow* window, int* left, int* right, int* top, int* static wxFont gs_fontSystem; #ifndef __WXGTK3__ +static GtkWidget* gs_tlw_parent; + static GtkContainer* ContainerWidget() { static GtkContainer* s_widget; if (s_widget == NULL) { s_widget = GTK_CONTAINER(gtk_fixed_new()); - GtkWidget* window = gtk_window_new(GTK_WINDOW_TOPLEVEL); - gtk_container_add(GTK_CONTAINER(window), GTK_WIDGET(s_widget)); + gs_tlw_parent = gtk_window_new(GTK_WINDOW_TOPLEVEL); + gtk_container_add(GTK_CONTAINER(gs_tlw_parent), GTK_WIDGET(s_widget)); } return s_widget; } @@ -960,7 +962,6 @@ bool wxSystemSettingsNative::HasFeature(wxSystemFeature index) } } -#ifdef __WXGTK3__ class wxSystemSettingsModule: public wxModule { public: @@ -972,5 +973,9 @@ wxIMPLEMENT_DYNAMIC_CLASS(wxSystemSettingsModule, wxModule); void wxSystemSettingsModule::OnExit() { -} +#ifdef __WXGTK3__ +#else + if (gs_tlw_parent) + gtk_widget_destroy(gs_tlw_parent); #endif +}