diff options
author | dbj <dbj@pkgsrc.org> | 2007-03-05 00:16:25 +0000 |
---|---|---|
committer | dbj <dbj@pkgsrc.org> | 2007-03-05 00:16:25 +0000 |
commit | dcf0437676057f4edb81168933a47c68b17fe84f (patch) | |
tree | 33aad9c95334ba12ae7470d90056b9d2cbe5842e | |
parent | 18b5a842e04467bd37700479cdfe41b82a0af0fd (diff) | |
download | pkgsrc-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/distinfo | 4 | ||||
-rw-r--r-- | devel/libgnomeui/patches/patch-aa | 17 |
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(); |