From 28cbe9193a9050d7479b12e1500dbf3a18372840 Mon Sep 17 00:00:00 2001 From: Adrian Lees Date: Sat, 16 Apr 2005 21:26:15 +0000 Subject: [project @ 2005-04-16 21:26:15 by adrianl] Ignores save drags that stay within SaveAs/download window svn path=/import/netsurf/; revision=1655 --- riscos/download.c | 3 +++ riscos/save.c | 15 +++++++++++++-- 2 files changed, 16 insertions(+), 2 deletions(-) (limited to 'riscos') diff --git a/riscos/download.c b/riscos/download.c index 2aad93013..5cd8d3a1d 100644 --- a/riscos/download.c +++ b/riscos/download.c @@ -518,6 +518,9 @@ void ro_gui_download_drag_end(wimp_dragged *drag) return; } + /* ignore drags to the download window itself */ + if (pointer.w == dw->window) return; + message.your_ref = 0; message.action = message_DATA_SAVE; message.data.data_xfer.w = pointer.w; diff --git a/riscos/save.c b/riscos/save.c index 1714a7e14..aeb677bca 100644 --- a/riscos/save.c +++ b/riscos/save.c @@ -313,8 +313,15 @@ void ro_gui_save_drag_end(wimp_dragged *drag) const char *name; wimp_pointer pointer; wimp_message message; + os_error *error; - wimp_get_pointer_info(&pointer); + error = xwimp_get_pointer_info(&pointer); + if (error) { + LOG(("xwimp_get_pointer_info: 0x%x: %s", + error->errnum, error->errmess)); + warn_user("WimpError", error->errmess); + return; + } if (gui_save_dialogw == (wimp_w)-1) { /* saving directly from browser window, choose a name based upon the URL */ @@ -328,8 +335,12 @@ void ro_gui_save_drag_end(wimp_dragged *drag) } } else { - /* saving from dialog, grab leafname from icon */ char *dot; + + /* ignore drags to the saveas window itself */ + if (pointer.w == gui_save_dialogw) return; + + /* saving from dialog, grab leafname from icon */ name = ro_gui_get_icon_string(gui_save_dialogw, ICON_SAVE_PATH); dot = strrchr(name, '.'); if (dot) -- cgit v1.2.3