From 54a8e1084c0bbc89623e34cf4ea8adafd4553aeb Mon Sep 17 00:00:00 2001 From: Colin Leroy Date: Mon, 15 Oct 2018 10:39:21 +0200 Subject: [PATCH] Fancy: fix left-click on links not opening in browser. --- src/plugins/fancy/fancy_viewer.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/plugins/fancy/fancy_viewer.c b/src/plugins/fancy/fancy_viewer.c index a10f6bca1..3792e846b 100644 --- a/src/plugins/fancy/fancy_viewer.c +++ b/src/plugins/fancy/fancy_viewer.c @@ -902,17 +902,30 @@ static gboolean press_button_cb (WebKitWebView *view, GdkEvent *ev, FancyViewer *viewer) { gint type = 0; + gchar *link = NULL; + WebKitHitTestResult *result = webkit_web_view_get_hit_test_result(view, (GdkEventButton *)ev); g_object_get(G_OBJECT(result), "context", &type, - "x", &viewer->click_x, "y", &viewer->click_y, + "x", &viewer->click_x, + "y", &viewer->click_y, + "link-uri", &link, NULL); if (type & WEBKIT_HIT_TEST_RESULT_CONTEXT_SELECTION) return FALSE; + if (viewer->cur_link) { + g_free(viewer->cur_link); + viewer->cur_link = NULL; + } + if (link != NULL) { + debug_print("press on %s\n", link); + viewer->cur_link = link; /* g_context returned a newly-allocated string */ + } + viewer->doc = webkit_web_view_get_dom_document(WEBKIT_WEB_VIEW(viewer->view)); viewer->window = webkit_dom_document_get_default_view (viewer->doc); viewer->selection = webkit_dom_dom_window_get_selection (viewer->window); -- 2.25.1