summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordbj <dbj@pkgsrc.org>2007-03-05 00:16:25 +0000
committerdbj <dbj@pkgsrc.org>2007-03-05 00:16:25 +0000
commitdcf0437676057f4edb81168933a47c68b17fe84f (patch)
tree33aad9c95334ba12ae7470d90056b9d2cbe5842e
parent18b5a842e04467bd37700479cdfe41b82a0af0fd (diff)
downloadpkgsrc-dcf0437676057f4edb81168933a47c68b17fe84f.tar.gz
use gdk_x11_ungrab_server instead of XUngrabServer()
This fixes build problems on darwin where symbols from indirect dependencies are not exposed by libtool Since gdk_x11_ungrab_server does internal reference counting, call it 10 times, just in case there are multiple display grabs when the segfault handler is called.
-rw-r--r--devel/libgnomeui/distinfo4
-rw-r--r--devel/libgnomeui/patches/patch-aa17
2 files changed, 15 insertions, 6 deletions
diff --git a/devel/libgnomeui/distinfo b/devel/libgnomeui/distinfo
index 99be2c622f3..b300eb46a1a 100644
--- a/devel/libgnomeui/distinfo
+++ b/devel/libgnomeui/distinfo
@@ -1,6 +1,6 @@
-$NetBSD: distinfo,v 1.23 2006/12/07 13:13:08 minskim Exp $
+$NetBSD: distinfo,v 1.24 2007/03/05 00:16:25 dbj Exp $
SHA1 (libgnomeui-2.16.1.tar.bz2) = 13154032427c0599ca741de50301cdc3a9ab3088
RMD160 (libgnomeui-2.16.1.tar.bz2) = 9cb97cb90014df2f477c24b7c41873a74704dff8
Size (libgnomeui-2.16.1.tar.bz2) = 1482097 bytes
-SHA1 (patch-aa) = eeb1df38aa7c3f1fdb3c2c1bc8722f050ad2156b
+SHA1 (patch-aa) = 49bbfe6367ab002b0e29c0bbd808aab377ff456e
diff --git a/devel/libgnomeui/patches/patch-aa b/devel/libgnomeui/patches/patch-aa
index b3848825e1d..f4a12c62ab1 100644
--- a/devel/libgnomeui/patches/patch-aa
+++ b/devel/libgnomeui/patches/patch-aa
@@ -1,15 +1,24 @@
-$NetBSD: patch-aa,v 1.7 2006/12/07 13:13:08 minskim Exp $
+$NetBSD: patch-aa,v 1.8 2007/03/05 00:16:26 dbj Exp $
http://bugzilla.gnome.org/show_bug.cgi?id=382923
--- libgnomeui/gnome-ui-init.c.orig 2006-10-05 03:45:42.000000000 -0700
-+++ libgnomeui/gnome-ui-init.c
-@@ -840,7 +840,9 @@ static void libgnomeui_segv_handle(int s
++++ libgnomeui/gnome-ui-init.c 2007-03-04 15:58:45.000000000 -0800
+@@ -840,7 +840,17 @@ static void libgnomeui_segv_handle(int s
/* Make sure we release grabs */
gdk_pointer_ungrab(GDK_CURRENT_TIME);
gdk_keyboard_ungrab(GDK_CURRENT_TIME);
+- XUngrabServer (GDK_DISPLAY ());
+#ifdef GDK_WINDOWING_X11
- XUngrabServer (GDK_DISPLAY ());
++ /* gdk reference counts x11 display grabs, but doesn't
++ * provide a way to release them all. so try several times
++ */
++ {
++ int i;
++ for (i=0; i < 10; i++) {
++ gdk_x11_ungrab_server();
++ }
++ }
+#endif
gdk_flush();