Date: Monday, March 22, 2010 @ 12:41:13 Author: ibiru Revision: 73091
added avoid_spurious_notification.patch to fix saving preferences in some applications Added: gtk2/repos/extra-i686/avoid_spurious_notifications.patch Modified: gtk2/repos/extra-i686/PKGBUILD ------------------------------------+ PKGBUILD | 9 +++++--- avoid_spurious_notifications.patch | 36 +++++++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+), 3 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2010-03-22 16:40:59 UTC (rev 73090) +++ PKGBUILD 2010-03-22 16:41:13 UTC (rev 73091) @@ -3,7 +3,7 @@ pkgname=gtk2 pkgver=2.18.9 -pkgrel=1 +pkgrel=2 pkgdesc="The GTK+ Toolkit (v2)" arch=(i686 x86_64) url="http://www.gtk.org/" @@ -17,13 +17,16 @@ backup=(etc/gtk-2.0/gtkrc) license=('LGPL') source=(http://ftp.gnome.org/pub/gnome/sources/gtk+/2.18/gtk+-${pkgver}.tar.bz2 - xid-collision-debug.patch) + xid-collision-debug.patch + avoid_spurious_notifications.patch) sha256sums=('5dcd8c406acbb8779c0b081a089fa87dfd7ab4d7d4c6075db478997ce96aa9b4' - 'd758bb93e59df15a4ea7732cf984d1c3c19dff67c94b957575efea132b8fe558') + 'd758bb93e59df15a4ea7732cf984d1c3c19dff67c94b957575efea132b8fe558' + 'fd656e194d3e734d21b6afd0d8cf9e002679d8f41da73ec41790341a0d355798') build() { cd "${srcdir}/gtk+-${pkgver}" patch -Np1 -i "${srcdir}/xid-collision-debug.patch" || return 1 + patch -Np1 -i "${srcdir}/avoid_spurious_notifications.patch" || return 1 CXX=/bin/false ./configure --prefix=/usr --sysconfdir=/etc \ --localstatedir=/var --with-xinput=yes \ Added: avoid_spurious_notifications.patch =================================================================== --- avoid_spurious_notifications.patch (rev 0) +++ avoid_spurious_notifications.patch 2010-03-22 16:41:13 UTC (rev 73091) @@ -0,0 +1,36 @@ +From 0fff51eab6427ca4d0ab679c1d994a2a36898a7d Mon Sep 17 00:00:00 2001 +From: Matthias Clasen <[email protected]> +Date: Sat, 20 Mar 2010 03:20:38 +0000 +Subject: Avoid spurious notifications from GtkEntry + +Using gtk_entry_set_buffer() in dispose() causes problematic +notifications, so just get rid of the buffer manually. See bug 613241. +(cherry picked from commit 5f29a679f8a31b6548f34179d65a39de9ec63535) +--- +diff --git a/gtk/gtkentry.c b/gtk/gtkentry.c +index 4344449..0dafcf7 100644 +--- a/gtk/gtkentry.c ++++ b/gtk/gtkentry.c +@@ -2425,12 +2425,19 @@ static void + gtk_entry_dispose (GObject *object) + { + GtkEntry *entry = GTK_ENTRY (object); ++ GtkEntryPrivate *priv = GTK_ENTRY_GET_PRIVATE (entry); + + gtk_entry_set_icon_from_pixbuf (entry, GTK_ENTRY_ICON_PRIMARY, NULL); + gtk_entry_set_icon_tooltip_markup (entry, GTK_ENTRY_ICON_PRIMARY, NULL); + gtk_entry_set_icon_from_pixbuf (entry, GTK_ENTRY_ICON_SECONDARY, NULL); + gtk_entry_set_icon_tooltip_markup (entry, GTK_ENTRY_ICON_SECONDARY, NULL); +- gtk_entry_set_buffer (entry, NULL); ++ ++ if (priv->buffer) ++ { ++ buffer_disconnect_signals (entry); ++ g_object_unref (priv->buffer); ++ priv->buffer = NULL; ++ } + + G_OBJECT_CLASS (gtk_entry_parent_class)->dispose (object); + } +-- +cgit v0.8.3.1
