diff options
author | root <root@rshg047.dnsready.net> | 2011-06-20 23:03:55 +0000 |
---|---|---|
committer | root <root@rshg047.dnsready.net> | 2011-06-20 23:03:55 +0000 |
commit | f02c28de0bbcb85e152fc19d0008805021fe1a33 (patch) | |
tree | 0cb0a135fbbb06d2e31fe64ff2caad474dcc3813 /extra/gtk2 | |
parent | 5457eacc747fc3f91e10a1f452230b1feac39eff (diff) |
Mon Jun 20 23:03:54 UTC 2011
Diffstat (limited to 'extra/gtk2')
-rw-r--r-- | extra/gtk2/PKGBUILD | 11 | ||||
-rw-r--r-- | extra/gtk2/gdk_Make_background_changes_queue_a_repaint.patch | 55 |
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 |