From 57839d52cd6ca476b59f6bc8d0f44cbb90b3cc3c Mon Sep 17 00:00:00 2001 From: Shaun McCance Date: Tue, 28 Feb 2012 21:29:43 -0500 Subject: Unbreak simple #fragment links, bug #671018 --- libyelp/yelp-view.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/libyelp/yelp-view.c b/libyelp/yelp-view.c index 8593063b..69239fcd 100644 --- a/libyelp/yelp-view.c +++ b/libyelp/yelp-view.c @@ -1428,8 +1428,16 @@ view_navigation_requested (WebKitWebView *view, YelpViewPrivate *priv = GET_PRIV (view); YelpUri *uri; - if (g_str_has_prefix (requri, BOGUS_URI)) + if (priv->bogus_uri && + g_str_has_prefix (requri, priv->bogus_uri) && + requri[strlen(priv->bogus_uri)] == '#') { + gchar *tmp = g_strconcat("xref:", requri + strlen(priv->bogus_uri), NULL); + uri = yelp_uri_new_relative (priv->uri, tmp); + g_free (tmp); + } + else if (g_str_has_prefix (requri, BOGUS_URI)) { uri = yelp_uri_new_relative (priv->uri, requri + BOGUS_URI_LEN); + } else uri = yelp_uri_new_relative (priv->uri, requri); -- cgit v1.2.1