// delete before the widgets to avoid a crash on solaris
delete m_imData;
+ // avoid problem with GTK+ 2.18 where a frozen window causes the whole
+ // TLW to be frozen, and if the window is then destroyed, nothing ever
+ // gets painted again
+ if (IsFrozen())
+ DoThaw();
+
if (m_widget)
{
// Note that gtk_widget_destroy() does not destroy the widget, it just
win
);
- GdkWindow* window = win->GTKGetDrawingWindow();
- if (window == NULL)
- window = w->window;
+ GdkWindow* window = w->window;
+ if (w == win->m_wxwindow)
+ window = win->GTKGetDrawingWindow();
gdk_window_freeze_updates(window);
}
return;
}
- GdkWindow* window = GTKGetDrawingWindow();
- if (window == NULL)
- window = w->window;
+ GdkWindow* window = w->window;
+ if (w == m_wxwindow)
+ window = GTKGetDrawingWindow();
gdk_window_freeze_updates(window);
}
return;
}
- GdkWindow* window = GTKGetDrawingWindow();
- if (window == NULL)
- window = w->window;
+ GdkWindow* window = w->window;
+ if (w == m_wxwindow)
+ window = GTKGetDrawingWindow();
gdk_window_thaw_updates(window);
}