diff options
author | Adrian Lees <adrian@aemulor.com> | 2005-04-18 11:52:26 +0000 |
---|---|---|
committer | Adrian Lees <adrian@aemulor.com> | 2005-04-18 11:52:26 +0000 |
commit | b72b5032bf592c5068b158e47cf671301f369478 (patch) | |
tree | 1207b44f90acb1c2e04c4714d924c42c4bed36ff /desktop | |
parent | b75fd1a26be7792985f7c7801022a6200f988fb7 (diff) | |
download | netsurf-b72b5032bf592c5068b158e47cf671301f369478.tar.gz netsurf-b72b5032bf592c5068b158e47cf671301f369478.tar.bz2 |
[project @ 2005-04-18 11:52:26 by adrianl]
Ignore save drags from browser window that remain within window
svn path=/import/netsurf/; revision=1667
Diffstat (limited to 'desktop')
-rw-r--r-- | desktop/browser.c | 16 | ||||
-rw-r--r-- | desktop/gui.h | 5 | ||||
-rw-r--r-- | desktop/selection.c | 3 |
3 files changed, 13 insertions, 11 deletions
diff --git a/desktop/browser.c b/desktop/browser.c index b1f4eca0e..0a7775838 100644 --- a/desktop/browser.c +++ b/desktop/browser.c @@ -694,9 +694,9 @@ void browser_window_mouse_click(struct browser_window *bw, default: if (mouse & BROWSER_MOUSE_MOD_2) { if (mouse & BROWSER_MOUSE_DRAG_2) - gui_drag_save_object(GUI_SAVE_OBJECT_NATIVE, c); + gui_drag_save_object(GUI_SAVE_OBJECT_NATIVE, c, bw->window); else if (mouse & BROWSER_MOUSE_DRAG_1) - gui_drag_save_object(GUI_SAVE_OBJECT_ORIG, c); + gui_drag_save_object(GUI_SAVE_OBJECT_ORIG, c, bw->window); } else if (mouse & (BROWSER_MOUSE_DRAG_1 | BROWSER_MOUSE_DRAG_2)) { browser_window_page_drag_start(bw, x, y); @@ -893,9 +893,9 @@ void browser_window_mouse_action_html(struct browser_window *bw, } else if (object && (mouse & BROWSER_MOUSE_MOD_2)) { if (mouse & BROWSER_MOUSE_DRAG_2) - gui_drag_save_object(GUI_SAVE_OBJECT_NATIVE, object); + gui_drag_save_object(GUI_SAVE_OBJECT_NATIVE, object, bw->window); else if (mouse & BROWSER_MOUSE_DRAG_1) - gui_drag_save_object(GUI_SAVE_OBJECT_ORIG, object); + gui_drag_save_object(GUI_SAVE_OBJECT_ORIG, object, bw->window); /* \todo should have a drag-saving object msg */ status = c->status_message; @@ -954,7 +954,7 @@ void browser_window_mouse_action_html(struct browser_window *bw, if (mouse & BROWSER_MOUSE_DRAG_1) { if (mouse & BROWSER_MOUSE_MOD_2) { - gui_drag_save_object(GUI_SAVE_COMPLETE, c); + gui_drag_save_object(GUI_SAVE_COMPLETE, c, bw->window); } else { browser_window_page_drag_start(bw, x, y); @@ -963,7 +963,7 @@ void browser_window_mouse_action_html(struct browser_window *bw, } else if (mouse & BROWSER_MOUSE_DRAG_2) { if (mouse & BROWSER_MOUSE_MOD_2) { - gui_drag_save_object(GUI_SAVE_SOURCE, c); + gui_drag_save_object(GUI_SAVE_SOURCE, c, bw->window); } else { browser_window_page_drag_start(bw, x, y); @@ -997,8 +997,8 @@ void browser_window_mouse_track(struct browser_window *bw, struct content *c = bw->current_content; if (!c) return; - /* detect end of drag operation in case the platform specific - code doesn't call browser_mouse_drag_end() */ + /* detect end of drag operation in case the platform-specific code + doesn't call browser_mouse_drag_end() (RISC OS code does) */ if (bw->drag_type != DRAGGING_NONE && !mouse) { browser_window_mouse_drag_end(bw, mouse, x, y); diff --git a/desktop/gui.h b/desktop/gui.h index df4fe24f0..bcc39e21b 100644 --- a/desktop/gui.h +++ b/desktop/gui.h @@ -80,8 +80,9 @@ void gui_download_window_error(struct gui_download_window *dw, const char *error_msg); void gui_download_window_done(struct gui_download_window *dw); -void gui_drag_save_object(gui_save_type type, struct content *c); -void gui_drag_save_selection(struct selection *s); +void gui_drag_save_object(gui_save_type type, struct content *c, + struct gui_window *g); +void gui_drag_save_selection(struct selection *s, struct gui_window *g); void gui_start_selection(struct gui_window *g); bool gui_copy_to_clipboard(struct selection *s); diff --git a/desktop/selection.c b/desktop/selection.c index fc906f692..2942b895b 100644 --- a/desktop/selection.c +++ b/desktop/selection.c @@ -226,7 +226,8 @@ bool selection_click(struct selection *s, struct box *box, if (!pos && (mouse & BROWSER_MOUSE_MOD_2) && (mouse & (BROWSER_MOUSE_DRAG_1 | BROWSER_MOUSE_DRAG_2))) { /* drag-saving selection */ - gui_drag_save_selection(s); + assert(s->bw); + gui_drag_save_selection(s, s->bw->window); } else if (!modkeys) { if (mouse & BROWSER_MOUSE_DRAG_1) { |