summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--riscos/window.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/riscos/window.c b/riscos/window.c
index 097ab9ee6..dbed46d2a 100644
--- a/riscos/window.c
+++ b/riscos/window.c
@@ -1038,8 +1038,16 @@ void gui_window_set_pointer(struct gui_window *g, gui_pointer_shape shape)
/* exported function documented in riscos/window.h */
nserror ro_gui_window_set_url(struct gui_window *g, nsurl *url)
{
+ char *idn_url = NULL;
+
if (g->toolbar) {
- ro_toolbar_set_url(g->toolbar, nsurl_access(url), true, false);
+ if (nsoption_bool(display_decoded_idn) == false) {
+ ro_toolbar_set_url(g->toolbar, nsurl_access(url), true, false);
+ } else {
+ idn_url = nsurl_access_utf8(url);
+ ro_toolbar_set_url(g->toolbar, idn_url, true, false);
+ free(idn_url);
+ }
ro_gui_url_complete_start(g->toolbar);
}