summaryrefslogtreecommitdiff
path: root/desktop
diff options
context:
space:
mode:
authorAdrian Lees <adrian@aemulor.com>2005-04-18 11:52:26 +0000
committerAdrian Lees <adrian@aemulor.com>2005-04-18 11:52:26 +0000
commitb72b5032bf592c5068b158e47cf671301f369478 (patch)
tree1207b44f90acb1c2e04c4714d924c42c4bed36ff /desktop
parentb75fd1a26be7792985f7c7801022a6200f988fb7 (diff)
downloadnetsurf-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.c16
-rw-r--r--desktop/gui.h5
-rw-r--r--desktop/selection.c3
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) {