diff options
Diffstat (limited to 'source/l/gtk+/gtk+-1.2.10-expose.patch')
-rw-r--r-- | source/l/gtk+/gtk+-1.2.10-expose.patch | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/source/l/gtk+/gtk+-1.2.10-expose.patch b/source/l/gtk+/gtk+-1.2.10-expose.patch new file mode 100644 index 00000000..f8fe8cdb --- /dev/null +++ b/source/l/gtk+/gtk+-1.2.10-expose.patch @@ -0,0 +1,42 @@ +--- gtk+-1.2.10/gdk/gdkevents.c.expose Sun Dec 3 11:02:49 2000 ++++ gtk+-1.2.10/gdk/gdkevents.c Wed Jul 11 15:54:18 2001 +@@ -383,6 +383,7 @@ + struct _GdkExposeInfo + { + Window window; ++ GdkWindowPrivate *toplevel_window; + gboolean seen_nonmatching; + }; + +@@ -400,10 +401,21 @@ + * we'll get a whole bunch of them interspersed with + * expose events. + */ +- if (xevent->xany.type != Expose && +- xevent->xany.type != GravityNotify) ++ switch (xevent->xany.type) + { ++ case Expose: ++ case GravityNotify: ++ break; ++ case ConfigureNotify: ++ if (xevent->xconfigure.window != info->toplevel_window->xwindow) ++ break; ++ if (xevent->xconfigure.width == info->toplevel_window->width && ++ xevent->xconfigure.height == info->toplevel_window->height) ++ break; ++ /* Fall through */ ++ default: + info->seen_nonmatching = TRUE; ++ break; + } + + if (info->seen_nonmatching || +@@ -429,6 +441,7 @@ + GdkEvent event; + + info.window = xevent->xany.window; ++ info.toplevel_window = (GdkWindowPrivate *) gdk_window_get_toplevel (window); + info.seen_nonmatching = FALSE; + + rect1.x = xevent->xexpose.x; |