From 779e05a0e93c5432deaa714aaea7ae17a950f6fc Mon Sep 17 00:00:00 2001 From: Shaun McCance Date: Tue, 18 May 2010 10:23:09 -0500 Subject: [src/yelp-window.c] Fix "Open Link in New Window", bug #615457 (Edward Sheldrake) --- src/yelp-window.c | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/src/yelp-window.c b/src/yelp-window.c index 67bfc09d..1221ba3b 100644 --- a/src/yelp-window.c +++ b/src/yelp-window.c @@ -2545,14 +2545,32 @@ static void window_copy_link_cb (GtkAction *action, YelpWindow *window) static void window_open_link_cb (GtkAction *action, YelpWindow *window) { - yelp_window_load (window, window->priv->uri); + gchar *uri; + + if (g_str_has_prefix (window->priv->uri, "xref:")) + uri = g_strconcat (window->priv->base_uri, "#", window->priv->uri + 5, NULL); + else + uri = g_strdup (window->priv->uri); + + yelp_window_load (window, uri); + + g_free (uri); } static void window_open_link_new_cb (GtkAction *action, YelpWindow *window) { + gchar *uri; + + if (g_str_has_prefix (window->priv->uri, "xref:")) + uri = g_strconcat (window->priv->base_uri, "#", window->priv->uri + 5, NULL); + else + uri = g_strdup (window->priv->uri); + g_signal_emit (window, signals[NEW_WINDOW_REQUESTED], 0, - window->priv->uri); + uri); + + g_free (uri); } /* TODO: This doesn't work... */ -- cgit v1.2.1