From e9657ea868fd2fc92175e98954e077b58805efb8 Mon Sep 17 00:00:00 2001 From: Colomban Wendling Date: Sun, 23 Oct 2016 10:41:27 +0200 Subject: Bug [#1873]. GTK: Don't forward calls to NULL scrollbars Once Dispose() has been called, scrollbars will be NULL, so we need to check against this in code that might run after Dispose(). Fixes scary warnings on certain widget destruction scenarios. --- gtk/ScintillaGTK.cxx | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'gtk') diff --git a/gtk/ScintillaGTK.cxx b/gtk/ScintillaGTK.cxx index 2d5daa2f0..70261bce1 100644 --- a/gtk/ScintillaGTK.cxx +++ b/gtk/ScintillaGTK.cxx @@ -323,8 +323,10 @@ void ScintillaGTK::UnRealizeThis(GtkWidget *widget) { GTK_WIDGET_UNSET_FLAGS(widget, GTK_REALIZED); #endif gtk_widget_unrealize(PWidget(wText)); - gtk_widget_unrealize(PWidget(scrollbarv)); - gtk_widget_unrealize(PWidget(scrollbarh)); + if (PWidget(scrollbarv)) + gtk_widget_unrealize(PWidget(scrollbarv)); + if (PWidget(scrollbarh)) + gtk_widget_unrealize(PWidget(scrollbarh)); gtk_widget_unrealize(PWidget(wPreedit)); gtk_widget_unrealize(PWidget(wPreeditDraw)); g_object_unref(im_context); @@ -388,8 +390,10 @@ void ScintillaGTK::UnMapThis() { DropGraphics(false); gdk_window_hide(PWindow(wMain)); gtk_widget_unmap(PWidget(wText)); - gtk_widget_unmap(PWidget(scrollbarh)); - gtk_widget_unmap(PWidget(scrollbarv)); + if (PWidget(scrollbarh)) + gtk_widget_unmap(PWidget(scrollbarh)); + if (PWidget(scrollbarv)) + gtk_widget_unmap(PWidget(scrollbarv)); } catch (...) { errorStatus = SC_STATUS_FAILURE; } -- cgit v1.2.3