Fix patch-ay, which seems to have been merged completely wrong by the

last update. This prevents crashes when opening URLs (i.e. by selecting
"Open in browser" in the gnome-terminal context menu)
This commit is contained in:
martin 2002-05-05 22:52:12 +00:00
parent e44d736086
commit 7d558fd06a
2 changed files with 24 additions and 22 deletions

View file

@ -1,4 +1,4 @@
$NetBSD: distinfo,v 1.10 2002/03/29 03:49:17 wiz Exp $
$NetBSD: distinfo,v 1.11 2002/05/05 22:52:12 martin Exp $
SHA1 (gnome-libs-1.4.1.4.tar.gz) = 3315752f9d4e8392c5e7b902d45cc7b795cdd63a
Size (gnome-libs-1.4.1.4.tar.gz) = 3631342 bytes
@ -20,4 +20,4 @@ SHA1 (patch-au) = 509f82d338a7d8322cf91b9dee957cd8ff21586c
SHA1 (patch-av) = 4210f8d36ebe09d92313a8fb48a643a4c24c6550
SHA1 (patch-aw) = 21ff2eb27a91eecc5e51a2cfe3cdcb8f97b32522
SHA1 (patch-ax) = 522cc70136f50b3c11119ff2d147b09ba3230b60
SHA1 (patch-ay) = 123c01aec56d688c028d93f6b2a6b8f19549c4d1
SHA1 (patch-ay) = 85a73ff42df585630bcc26c55bf1b36675211c67

View file

@ -1,7 +1,7 @@
$NetBSD: patch-ay,v 1.2 2002/03/24 19:53:49 rh Exp $
$NetBSD: patch-ay,v 1.3 2002/05/05 22:52:12 martin Exp $
--- libgnome/gnome-url.c.orig Fri Jan 11 08:03:17 2002
+++ libgnome/gnome-url.c
--- libgnome/gnome-url.c.orig Thu Jan 10 23:03:17 2002
+++ libgnome/gnome-url.c Mon May 6 00:06:38 2002
@@ -80,6 +80,8 @@
return default_handler;
}
@ -11,32 +11,27 @@ $NetBSD: patch-ay,v 1.2 2002/03/24 19:53:49 rh Exp $
/**
* gnome_url_show
* @url: URL to show
@@ -105,11 +107,11 @@
@@ -105,11 +107,9 @@
void
gnome_url_show(const gchar *url)
{
- gint i;
gchar *pos, *template;
gboolean free_template = FALSE;
int argc;
- int argc;
- char **argv;
+ char **argv;
+ int status;
g_return_if_fail (url != NULL);
pos = strchr (url, ':');
@@ -140,9 +142,23 @@
if(poptParseArgvString(template, &argc, &argv) != 0) {
/* can't parse */
g_warning("Parse error of '%s'", template);
- return;
+ status = gnome_url_show_with_handler (url, template);
+ if (status == -1 && free_template)
+ gnome_url_show_with_handler (url, gnome_url_default_handler (NULL));
+ } else {
+ gnome_url_show_with_handler (url, template);
}
@@ -135,12 +135,26 @@
} else /* no : ? -- this shouldn't happen. Use default handler */
template = gnome_url_default_handler (NULL);
+ status = gnome_url_show_with_handler (url, template);
+ if (status == -1 && free_template)
+ gnome_url_show_with_handler (url, gnome_url_default_handler (NULL));
+
+ if (free_template)
+ g_free (template);
+}
@ -47,10 +42,17 @@ $NetBSD: patch-ay,v 1.2 2002/03/24 19:53:49 rh Exp $
+ 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
* array is all in one buffer, we won't leak */
for(i = 0; i < argc; i++) {
@@ -154,13 +170,12 @@
@@ -154,13 +168,12 @@
/* use execute async, and not the shell, shell is evil and a
* security hole */