summaryrefslogtreecommitdiff
path: root/extra/gtk2
diff options
context:
space:
mode:
authorroot <root@rshg047.dnsready.net>2011-06-20 23:03:55 +0000
committerroot <root@rshg047.dnsready.net>2011-06-20 23:03:55 +0000
commitf02c28de0bbcb85e152fc19d0008805021fe1a33 (patch)
tree0cb0a135fbbb06d2e31fe64ff2caad474dcc3813 /extra/gtk2
parent5457eacc747fc3f91e10a1f452230b1feac39eff (diff)
Mon Jun 20 23:03:54 UTC 2011
Diffstat (limited to 'extra/gtk2')
-rw-r--r--extra/gtk2/PKGBUILD11
-rw-r--r--extra/gtk2/gdk_Make_background_changes_queue_a_repaint.patch55
2 files changed, 62 insertions, 4 deletions
diff --git a/extra/gtk2/PKGBUILD b/extra/gtk2/PKGBUILD
index de3a8f515..3e906aab8 100644
--- a/extra/gtk2/PKGBUILD
+++ b/extra/gtk2/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 127545 2011-06-16 09:44:48Z ibiru $
+# $Id: PKGBUILD 127882 2011-06-19 07:39:12Z ibiru $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgbase=gtk2
pkgname=('gtk2' 'gtk-update-icon-cache')
pkgver=2.24.5
-pkgrel=1
+pkgrel=2
arch=('i686' 'x86_64')
url="http://www.gtk.org/"
makedepends=('atk' 'pango' 'libxcursor' 'libxinerama' 'libxrandr' 'libxi' 'libxcomposite' 'libxdamage' 'krb5' 'gnutls'
@@ -12,13 +12,16 @@ makedepends=('atk' 'pango' 'libxcursor' 'libxinerama' 'libxrandr' 'libxi' 'libxc
options=('!libtool' '!docs')
license=('LGPL')
source=(http://ftp.gnome.org/pub/gnome/sources/gtk+/2.24/gtk+-${pkgver}.tar.xz
- xid-collision-debug.patch)
+ xid-collision-debug.patch
+ gdk_Make_background_changes_queue_a_repaint.patch)
sha256sums=('d6b30889efbb9fab9aa598092d08887826a7b2a3069b3bd5155dede28d9866f3'
- 'd758bb93e59df15a4ea7732cf984d1c3c19dff67c94b957575efea132b8fe558')
+ 'd758bb93e59df15a4ea7732cf984d1c3c19dff67c94b957575efea132b8fe558'
+ '3573af25e8db2fb490b264f80cb9e617ee1a36e767e36e7bb1d830c0b715db93')
build() {
cd "${srcdir}/gtk+-${pkgver}"
patch -Np1 -i "${srcdir}/xid-collision-debug.patch"
+ patch -NRp1 -i "${srcdir}/gdk_Make_background_changes_queue_a_repaint.patch"
CXX=/bin/false ./configure --prefix=/usr \
--sysconfdir=/etc \
diff --git a/extra/gtk2/gdk_Make_background_changes_queue_a_repaint.patch b/extra/gtk2/gdk_Make_background_changes_queue_a_repaint.patch
new file mode 100644
index 000000000..40aa187e6
--- /dev/null
+++ b/extra/gtk2/gdk_Make_background_changes_queue_a_repaint.patch
@@ -0,0 +1,55 @@
+From 254b9a4c540e3dff1dcd17db2ceea6a9fa5df973 Mon Sep 17 00:00:00 2001
+From: Benjamin Otte <otte@redhat.com>
+Date: Thu, 09 Jun 2011 04:29:45 +0000
+Subject: gdk: Make background changes queue a repaint
+
+For client-side windows, we need to queue a repaint when the background
+changes. For native windows, the windowing system does take care of it,
+but client-side windows are our own, so we gotta do it manually.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=652102
+---
+diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c
+index f058570..10d83ab 100644
+--- a/gdk/gdkwindow.c
++++ b/gdk/gdkwindow.c
+@@ -8004,11 +8004,15 @@ gdk_window_set_background (GdkWindow *window,
+ }
+
+ if (!GDK_WINDOW_DESTROYED (window) &&
+- gdk_window_has_impl (private) &&
+ !private->input_only)
+ {
+- impl_iface = GDK_WINDOW_IMPL_GET_IFACE (private->impl);
+- impl_iface->set_background (window, &private->bg_color);
++ 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);
+ }
+ }
+
+@@ -8077,11 +8081,15 @@ 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)
+ {
+- impl_iface = GDK_WINDOW_IMPL_GET_IFACE (private->impl);
+- impl_iface->set_back_pixmap (window, private->bg_pixmap);
++ 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);
+ }
+ }
+
+--
+cgit v0.9