diff --git a/ChangeLog b/ChangeLog index cd12b6d370..beaedf5b39 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2003-06-12 Anders Carlsson + + * gtk/gtkwidget.c: (event_window_is_still_viewable): + Special case pixmaps. (#114880) + 2003-06-12 Matthias Clasen * gtk/gtkwidget.c: Document child-notify and drag-data-received diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index cd12b6d370..beaedf5b39 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,8 @@ +2003-06-12 Anders Carlsson + + * gtk/gtkwidget.c: (event_window_is_still_viewable): + Special case pixmaps. (#114880) + 2003-06-12 Matthias Clasen * gtk/gtkwidget.c: Document child-notify and drag-data-received diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4 index cd12b6d370..beaedf5b39 100644 --- a/ChangeLog.pre-2-4 +++ b/ChangeLog.pre-2-4 @@ -1,3 +1,8 @@ +2003-06-12 Anders Carlsson + + * gtk/gtkwidget.c: (event_window_is_still_viewable): + Special case pixmaps. (#114880) + 2003-06-12 Matthias Clasen * gtk/gtkwidget.c: Document child-notify and drag-data-received diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index cd12b6d370..beaedf5b39 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,8 @@ +2003-06-12 Anders Carlsson + + * gtk/gtkwidget.c: (event_window_is_still_viewable): + Special case pixmaps. (#114880) + 2003-06-12 Matthias Clasen * gtk/gtkwidget.c: Document child-notify and drag-data-received diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index cd12b6d370..beaedf5b39 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,8 @@ +2003-06-12 Anders Carlsson + + * gtk/gtkwidget.c: (event_window_is_still_viewable): + Special case pixmaps. (#114880) + 2003-06-12 Matthias Clasen * gtk/gtkwidget.c: Document child-notify and drag-data-received diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index 06932fef64..5f60862b2a 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -3112,6 +3112,13 @@ gtk_widget_send_expose (GtkWidget *widget, static gboolean event_window_is_still_viewable (GdkEvent *event) { + /* Some programs, such as gnome-theme-manager, fake widgets + * into exposing onto a pixmap by sending expose events with + * event->window pointing to a pixmap + */ + if (GDK_IS_PIXMAP (event->any.window)) + return event->type == GDK_EXPOSE; + /* Check that we think the event's window is viewable before * delivering the event, to prevent suprises. We do this here * at the last moment, since the event may have been queued