From ded472ac95e49016af0af08479b84c4c64fed72e Mon Sep 17 00:00:00 2001 From: Pierre Pronchery Date: Tue, 9 Nov 2010 15:02:58 +0000 Subject: [PATCH] More adequately implemented --- src/ghtml-gtktextview.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/ghtml-gtktextview.c b/src/ghtml-gtktextview.c index 82bc2bd..f11f0a6 100644 --- a/src/ghtml-gtktextview.c +++ b/src/ghtml-gtktextview.c @@ -531,7 +531,7 @@ void ghtml_load_url(GtkWidget * widget, char const * url) gchar * link; ghtml = g_object_get_data(G_OBJECT(widget), "ghtml"); - if((link = _ghtml_make_url(ghtml->base, url)) != NULL) + if((link = _ghtml_make_url(NULL, url)) != NULL) url = link; _ghtml_document_load(ghtml, url, NULL); g_free(link); @@ -871,6 +871,7 @@ static gboolean _on_view_event_after(GtkWidget * widget, GdkEvent * event, GSList * tags; GSList * p; char * link = NULL; + gchar * url; if(event->type != GDK_BUTTON_RELEASE || event->button.button != 1) return FALSE; @@ -888,7 +889,12 @@ static gboolean _on_view_event_after(GtkWidget * widget, GdkEvent * event, break; if(tags != NULL) g_slist_free(tags); - if(link != NULL) - surfer_open(ghtml->surfer, link); /* XXX support relative */ + if(link == NULL) + return FALSE; + if((url = _ghtml_make_url(ghtml->base, link)) != NULL) + surfer_open(ghtml->surfer, url); + else + surfer_open(ghtml->surfer, link); + g_free(url); return FALSE; }