summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Drake <michael.drake@codethink.co.uk>2018-07-23 11:19:27 +0100
committerMichael Drake <michael.drake@codethink.co.uk>2018-07-23 11:41:12 +0100
commit57a6328b141f1f46099ee3c9379b43205c8771d0 (patch)
treef33a5061ad0f676099ad75d061c65b8efb91c848
parenteeb7be1cbf8069cc1304dac4136e7c2090d49e89 (diff)
downloadnetsurf-57a6328b141f1f46099ee3c9379b43205c8771d0.tar.gz
netsurf-57a6328b141f1f46099ee3c9379b43205c8771d0.tar.bz2
RISC OS: Make URL drag include the fragment.
-rw-r--r--frontends/riscos/window.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/frontends/riscos/window.c b/frontends/riscos/window.c
index 120a40835..e41f6096f 100644
--- a/frontends/riscos/window.c
+++ b/frontends/riscos/window.c
@@ -830,6 +830,8 @@ ro_gui_window_toolbar_click(void *data,
case TOOLBAR_URL_DRAG_URL:
{
gui_save_type save_type;
+ nserror err;
+ nsurl *url;
if (!browser_window_has_content(g->bw))
break;
@@ -839,9 +841,17 @@ ro_gui_window_toolbar_click(void *data,
else
save_type = GUI_SAVE_LINK_TEXT;
- ro_gui_drag_save_link(save_type,
- browser_window_access_url(g->bw),
+ err = browser_window_get_url(g->bw, true, &url);
+ if (err != NSERROR_OK) {
+ /* Fall back to access (won't get fragment). */
+ url = nsurl_ref(
+ browser_window_access_url(g->bw));
+ }
+
+ ro_gui_drag_save_link(save_type, url,
browser_window_get_title(g->bw), g);
+
+ nsurl_unref(url);
}
break;