summaryrefslogtreecommitdiffstats
path: root/source/l/gtk+/gtk+-1.2.10-expose.patch
diff options
context:
space:
mode:
Diffstat (limited to 'source/l/gtk+/gtk+-1.2.10-expose.patch')
-rw-r--r--source/l/gtk+/gtk+-1.2.10-expose.patch42
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 000000000..f8fe8cdb8
--- /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;