ports/159510: [PATCH] x11-toolkits/gtk: fix repainting bug

Sean C. Farley scf at FreeBSD.org
Thu Aug 4 00:20:09 UTC 2011


>Number:         159510
>Category:       ports
>Synopsis:       [PATCH] x11-toolkits/gtk: fix repainting bug
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Thu Aug 04 00:20:08 UTC 2011
>Closed-Date:
>Last-Modified:
>Originator:     Sean C. Farley
>Release:        FreeBSD 8.2-STABLE amd64
>Organization:
>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 ---

>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list