Avoid using gdk_window_freeze_updates() to implement Freeze()

Implement Freeze() by blocking the GtkWindow "expose-event"/"draw" signal
instead. Since the introduction of client-side windows in GTK+ 2.18,
gdk_window_freeze_updates() is unuseable because the impl_window (and thus the
update_freeze_count) for a given GdkWindow can change unpredictably. See #16795
This commit is contained in:
Paul Cornett
2015-06-24 08:43:30 -07:00
parent c15ae5e4a3
commit b7cf54d24a
3 changed files with 41 additions and 49 deletions

View File

@@ -383,6 +383,7 @@ protected:
virtual void DoFreeze() wxOVERRIDE;
virtual void DoThaw() wxOVERRIDE;
void GTKConnectFreezeWidget(GtkWidget* widget);
void GTKFreezeWidget(GtkWidget *w);
void GTKThawWidget(GtkWidget *w);
void GTKDisconnect(void* instance);