summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--amiga/download.c11
-rwxr-xr-xamiga/download.h2
-rw-r--r--content/content.h2
-rw-r--r--desktop/gui_factory.c5
-rw-r--r--desktop/gui_window.h2
-rw-r--r--monkey/browser.c8
-rw-r--r--render/html_interaction.c2
-rw-r--r--riscos/window.c10
8 files changed, 21 insertions, 21 deletions
diff --git a/amiga/download.c b/amiga/download.c
index 283fe40bd..4d60a7aa6 100644
--- a/amiga/download.c
+++ b/amiga/download.c
@@ -345,14 +345,14 @@ void ami_free_download_list(struct List *dllist)
}while(node=nnode);
}
-void
-gui_window_save_link(struct gui_window *g, const char *url, const char *title)
+nserror
+gui_window_save_link(struct gui_window *g, nsurl *url, const char *title)
{
char fname[1024];
STRPTR openurlstring,linkname;
struct DiskObject *dobj = NULL;
- linkname = ASPrintf("Link_to_%s",FilePart(url));
+ linkname = ASPrintf("Link_to_%s",FilePart(nsurl_access(url)));
if(AslRequestTags(savereq,
ASLFR_Window, g->shared->win,
@@ -374,11 +374,11 @@ gui_window_save_link(struct gui_window *g, const char *url, const char *title)
if(fh = FOpen(fname,MODE_NEWFILE,0))
{
/* TODO: Should be URLOpen on OS4.1 */
- openurlstring = ASPrintf("openurl \"%s\"\n",url);
+ openurlstring = ASPrintf("openurl \"%s\"\n",nsurl_access(url));
FWrite(fh,openurlstring,1,strlen(openurlstring));
FClose(fh);
FreeVec(openurlstring);
- SetComment(fname,url);
+ SetComment(fname, nsurl_access(url));
dobj = GetIconTags(NULL,ICONGETA_GetDefaultName,"url",
ICONGETA_GetDefaultType,WBPROJECT,
@@ -396,6 +396,7 @@ gui_window_save_link(struct gui_window *g, const char *url, const char *title)
}
ami_reset_pointer(g->shared);
}
+ return NSERROR_OK;
}
BOOL ami_download_check_overwrite(const char *file, struct Window *win, ULONG size)
diff --git a/amiga/download.h b/amiga/download.h
index 7fc722c3d..bcc82dcf4 100755
--- a/amiga/download.h
+++ b/amiga/download.h
@@ -37,6 +37,6 @@ BOOL ami_download_window_event(struct gui_download_window *dw);
void ami_free_download_list(struct List *dllist);
BOOL ami_download_check_overwrite(const char *file, struct Window *win, ULONG size);
-void gui_window_save_link(struct gui_window *g, const char *url, const char *title);
+nserror gui_window_save_link(struct gui_window *g, nsurl *url, const char *title);
#endif
diff --git a/content/content.h b/content/content.h
index d78e3d96b..11ddee1dd 100644
--- a/content/content.h
+++ b/content/content.h
@@ -164,7 +164,7 @@ union content_msg_data {
} dragsave;
/** CONTENT_MSG_SAVELINK - Save a URL */
struct {
- const char *url;
+ nsurl *url;
const char *title;
} savelink;
/** CONTENT_MSG_POINTER - Mouse pointer to set */
diff --git a/desktop/gui_factory.c b/desktop/gui_factory.c
index 9be1773c4..24de1ffb8 100644
--- a/desktop/gui_factory.c
+++ b/desktop/gui_factory.c
@@ -62,10 +62,11 @@ static bool gui_default_window_drag_start(struct gui_window *g,
return true;
}
-static void gui_default_window_save_link(struct gui_window *g,
- const char *url,
+static nserror gui_default_window_save_link(struct gui_window *g,
+ nsurl *url,
const char *title)
{
+ return NSERROR_OK;
}
static void gui_default_window_set_icon(struct gui_window *g,
diff --git a/desktop/gui_window.h b/desktop/gui_window.h
index 63a62907f..05c26afa1 100644
--- a/desktop/gui_window.h
+++ b/desktop/gui_window.h
@@ -237,7 +237,7 @@ struct gui_window_table {
bool (*drag_start)(struct gui_window *g, gui_drag_type type, const struct rect *rect);
/** save link operation */
- void (*save_link)(struct gui_window *g, const char *url, const char *title);
+ nserror (*save_link)(struct gui_window *g, nsurl *url, const char *title);
/**
* Scrolls the specified area of a browser window into view.
diff --git a/monkey/browser.c b/monkey/browser.c
index 4e9472fa5..2b78537db 100644
--- a/monkey/browser.c
+++ b/monkey/browser.c
@@ -306,12 +306,12 @@ gui_window_drag_start(struct gui_window *g, gui_drag_type type,
return false;
}
-static void
-gui_window_save_link(struct gui_window *g, const char *url,
- const char *title)
+static nserror
+gui_window_save_link(struct gui_window *g, nsurl *url, const char *title)
{
fprintf(stdout, "WINDOW SAVE_LINK WIN %u URL %s TITLE %s\n",
- g->win_num, url, title);
+ g->win_num, nsurl_access(url), title);
+ return NSERROR_OK;
}
diff --git a/render/html_interaction.c b/render/html_interaction.c
index 781c9c1de..9a692cba1 100644
--- a/render/html_interaction.c
+++ b/render/html_interaction.c
@@ -835,7 +835,7 @@ void html_mouse_action(struct content *c, struct browser_window *bw,
} else if (mouse & BROWSER_MOUSE_CLICK_2 &&
mouse & BROWSER_MOUSE_MOD_1) {
- msg_data.savelink.url = nsurl_access(url);
+ msg_data.savelink.url = url;
msg_data.savelink.title = title;
content_broadcast(c, CONTENT_MSG_SAVELINK, msg_data);
diff --git a/riscos/window.c b/riscos/window.c
index e247bad5f..f3c92092c 100644
--- a/riscos/window.c
+++ b/riscos/window.c
@@ -1280,14 +1280,12 @@ static bool gui_window_drag_start(struct gui_window *g, gui_drag_type type,
* \param url The url of the link
* \param title The title of the link
*/
-static void gui_window_save_link(struct gui_window *g, const char *url,
- const char *title)
+static nserror
+gui_window_save_link(struct gui_window *g, nsurl *url, const char *title)
{
- nsurl *nurl;
- nsurl_create(url, &nurl);
- ro_gui_save_prepare(GUI_SAVE_LINK_URL, NULL, NULL, nurl, title);
- nsurl_unref(nurl);
+ ro_gui_save_prepare(GUI_SAVE_LINK_URL, NULL, NULL, url, title);
ro_gui_dialog_open_persistent(g->window, dialog_saveas, true);
+ return NSERROR_OK;
}