summaryrefslogtreecommitdiff
path: root/x11
diff options
context:
space:
mode:
authordanw <danw@pkgsrc.org>2001-09-24 23:47:36 +0000
committerdanw <danw@pkgsrc.org>2001-09-24 23:47:36 +0000
commitcf517e09b7bf841db6bed74405bdd38083e4e133 (patch)
treedfdc0d4687a64bc0b4b20635f5128a64aab20d8f /x11
parentdf9853474a53f4628b94b664d2a7656e6e0af9a2 (diff)
downloadpkgsrc-cf517e09b7bf841db6bed74405bdd38083e4e133.tar.gz
Patch gnome_url_show() to fall back to the default handler if the
one specified by gnome_config doesn't work. In particular, if a help file can't be viewed with gnome-help-browser (eg, because gnome-core isn't installed), fall back to the user's web browser rather than silently losing.
Diffstat (limited to 'x11')
-rw-r--r--x11/gnome-libs/Makefile3
-rw-r--r--x11/gnome-libs/distinfo3
-rw-r--r--x11/gnome-libs/patches/patch-ay71
3 files changed, 75 insertions, 2 deletions
diff --git a/x11/gnome-libs/Makefile b/x11/gnome-libs/Makefile
index 3c2d729dbf0..64179e85d43 100644
--- a/x11/gnome-libs/Makefile
+++ b/x11/gnome-libs/Makefile
@@ -1,6 +1,7 @@
-# $NetBSD: Makefile,v 1.68 2001/08/29 22:41:28 jlam Exp $
+# $NetBSD: Makefile,v 1.69 2001/09/24 23:47:36 danw Exp $
DISTNAME= gnome-libs-1.2.13
+PKGNAME= gnome-libs-1.2.13nb1
CATEGORIES= x11 gnome
MASTER_SITES= ${MASTER_SITE_GNOME:=stable/sources/gnome-libs/}
diff --git a/x11/gnome-libs/distinfo b/x11/gnome-libs/distinfo
index 62cf05eb6a1..60ed9a18468 100644
--- a/x11/gnome-libs/distinfo
+++ b/x11/gnome-libs/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.4 2001/09/22 03:39:02 jlam Exp $
+$NetBSD: distinfo,v 1.5 2001/09/24 23:47:36 danw Exp $
SHA1 (gnome-libs-1.2.13.tar.gz) = 21142d1afc826b7bca54be91a398c6f896d81696
Size (gnome-libs-1.2.13.tar.gz) = 3387481 bytes
@@ -20,3 +20,4 @@ SHA1 (patch-au) = d694b7105570fbe8ad8ce5a5079678db2cd2fc8e
SHA1 (patch-av) = 7dfccc25c7f764106b61f62f11f92bed0161b4b8
SHA1 (patch-aw) = 03cf4cbeeaeb0f852c072dfb97bbd47c3d627a7c
SHA1 (patch-ax) = 62ed2e13f8bbd6853d73b3b94bd20dc5690eeba5
+SHA1 (patch-ay) = be04dce8fdd2f553555cca428f386379c53773ad
diff --git a/x11/gnome-libs/patches/patch-ay b/x11/gnome-libs/patches/patch-ay
new file mode 100644
index 00000000000..edd7b93f908
--- /dev/null
+++ b/x11/gnome-libs/patches/patch-ay
@@ -0,0 +1,71 @@
+$NetBSD: patch-ay,v 1.1 2001/09/24 23:47:37 danw Exp $
+
+--- libgnome/gnome-url.c.orig Fri Mar 16 14:44:42 2001
++++ libgnome/gnome-url.c Mon Sep 24 18:36:21 2001
+@@ -72,6 +72,8 @@
+ return default_handler;
+ }
+
++static int gnome_url_show_with_handler (const gchar *url, const gchar *template);
++
+ /**
+ * gnome_url_show
+ * @url: URL to show
+@@ -97,11 +99,9 @@
+ void
+ gnome_url_show(const gchar *url)
+ {
+- gint i;
+ gchar *pos, *template;
+ gboolean free_template = FALSE;
+- int argc;
+- char **argv;
++ int status;
+
+ g_return_if_fail (url != NULL);
+ pos = strchr (url, ':');
+@@ -127,12 +127,26 @@
+ } else /* no : ? -- this shouldn't happen. Use default handler */
+ template = gnome_url_default_handler ();
+
++ status = gnome_url_show_with_handler (url, template);
++ if (status == -1 && free_template)
++ gnome_url_show_with_handler (url, gnome_url_default_handler ());
++
++ if (free_template)
++ g_free (template);
++}
++
++static int
++gnome_url_show_with_handler (const gchar *url, const gchar *template)
++{
++ int argc, i, status;
++ char **argv;
++
+ /* we use a popt function as it does exactly what we want to do and
+ gnome already uses popt */
+ if(poptParseArgvString(template, &argc, &argv) != 0) {
+ /* can't parse */
+ g_warning("Parse error of '%s'", template);
+- return;
++ return -1;
+ }
+
+ /* we can just replace the entry in the array since the
+@@ -146,13 +160,12 @@
+
+ /* use execute async, and not the shell, shell is evil and a
+ * security hole */
+- gnome_execute_async (NULL, argc, argv);
+-
+- if (free_template)
+- g_free (template);
++ status = gnome_execute_async (NULL, argc, argv);
+
+ /* the way the poptParseArgvString works is that the entire thing
+ * is allocated as one buffer, so just free will suffice, also
+ * it must be free and not g_free */
+ free(argv);
++
++ return status;
+ }