[PATCH] x11-toolkits/gtk: fix repainting bug
Sean C. Farley
scf at FreeBSD.org
Thu Aug 4 00:14:24 UTC 2011
>Submitter-Id: current-users
>Originator: Sean C. Farley
>Organization:
>Confidential: no
>Synopsis: [PATCH] x11-toolkits/gtk: fix repainting bug
>Severity: non-critical
>Priority: low
>Category: ports
>Class: change-request
>Release: FreeBSD 8.2-STABLE amd64
>Environment:
System: FreeBSD thor.farley.org 8.2-STABLE FreeBSD 8.2-STABLE #1 r223876M: Fri Jul 8 22:52:17
>Description:
This is a fix for Gnome bug #652872[3].
Commit 254b9a4c540e3dff1dcd17db2ceea6a9fa5df973[2] in gtk-2.24.5 causes
issues for many GTK applications such as Freeciv (I.e., the main map is
black). This is commit d7ac9cd71c43689672a9796e518ef3b970197bf2[3]
which reverts it.
1. https://bugzilla.gnome.org/show_bug.cgi?id=652872
2. http://git.gnome.org/browse/gtk+/commit/?h=gtk-2-24&id=254b9a4c540e3dff1dcd17db2ceea6a9fa5df973
3. http://git.gnome.org/browse/gtk+/commit/?h=gtk-2-24&id=d7ac9cd71c43689672a9796e518ef3b970197bf2
Added file(s):
- files/patch-gdk_gdkwindow.c
Port maintainer (gnome at FreeBSD.org) is cc'd.
Generated with FreeBSD Port Tools 0.99
>How-To-Repeat:
>Fix:
--- gtk-2.24.5_1.patch begins here ---
diff -ruN --exclude=CVS /usr/ports/x11-toolkits/gtk20.orig/Makefile /usr/ports/x11-toolkits/gtk20/Makefile
--- /usr/ports/x11-toolkits/gtk20.orig/Makefile 2011-08-03 19:52:19.000000000 -0400
+++ /usr/ports/x11-toolkits/gtk20/Makefile 2011-08-03 20:04:41.000000000 -0400
@@ -9,7 +9,7 @@
PORTNAME= gtk
PORTVERSION= 2.24.5
-PORTREVISION?= 0
+PORTREVISION?= 1
CATEGORIES= x11-toolkits
MASTER_SITES= ${MASTER_SITE_GNOME:S,%SUBDIR%,sources/gtk+/${PORTVERSION:C/^([0-9]+\.[0-9]+).*/\1/}/,} \
ftp://ftp.gtk.org/pub/gtk/%SUBDIR%/ \
diff -ruN --exclude=CVS /usr/ports/x11-toolkits/gtk20.orig/files/patch-gdk_gdkwindow.c /usr/ports/x11-toolkits/gtk20/files/patch-gdk_gdkwindow.c
--- /usr/ports/x11-toolkits/gtk20.orig/files/patch-gdk_gdkwindow.c 1969-12-31 19:00:00.000000000 -0500
+++ /usr/ports/x11-toolkits/gtk20/files/patch-gdk_gdkwindow.c 2011-08-03 19:53:32.000000000 -0400
@@ -0,0 +1,40 @@
+--- gdk/gdkwindow.c.orig
++++ gdk/gdkwindow.c
+@@ -8004,15 +8004,11 @@ gdk_window_set_background (GdkWindow *window,
+ }
+
+ if (!GDK_WINDOW_DESTROYED (window) &&
++ gdk_window_has_impl (private) &&
+ !private->input_only)
+ {
+- if (gdk_window_has_impl (private))
+- {
+- impl_iface = GDK_WINDOW_IMPL_GET_IFACE (private->impl);
+- impl_iface->set_background (window, &private->bg_color);
+- }
+- else
+- gdk_window_invalidate_rect_full (window, NULL, TRUE, CLEAR_BG_ALL);
++ impl_iface = GDK_WINDOW_IMPL_GET_IFACE (private->impl);
++ impl_iface->set_background (window, &private->bg_color);
+ }
+ }
+
+@@ -8081,15 +8077,11 @@ gdk_window_set_back_pixmap (GdkWindow *window,
+ private->bg_pixmap = GDK_NO_BG;
+
+ if (!GDK_WINDOW_DESTROYED (window) &&
++ gdk_window_has_impl (private) &&
+ !private->input_only)
+ {
+- if (gdk_window_has_impl (private))
+- {
+- impl_iface = GDK_WINDOW_IMPL_GET_IFACE (private->impl);
+- impl_iface->set_back_pixmap (window, private->bg_pixmap);
+- }
+- else
+- gdk_window_invalidate_rect_full (window, NULL, TRUE, CLEAR_BG_ALL);
++ impl_iface = GDK_WINDOW_IMPL_GET_IFACE (private->impl);
++ impl_iface->set_back_pixmap (window, private->bg_pixmap);
+ }
+ }
+
--- gtk-2.24.5_1.patch ends here ---
More information about the freebsd-gnome
mailing list