diff options
author | Michael Drake <tlsa@netsurf-browser.org> | 2011-07-02 16:12:00 +0000 |
---|---|---|
committer | Michael Drake <tlsa@netsurf-browser.org> | 2011-07-02 16:12:00 +0000 |
commit | 3f485e083d0484fb009d33222710625d62b8b77f (patch) | |
tree | 31fec5a5b8b9347895a3b151290e912b0e692a69 /desktop | |
parent | 51f6d5475b778a0bbe9e1c18cc1a9739f6af02a1 (diff) | |
download | netsurf-3f485e083d0484fb009d33222710625d62b8b77f.tar.gz netsurf-3f485e083d0484fb009d33222710625d62b8b77f.tar.bz2 |
Minor selection changes.
svn path=/trunk/netsurf/; revision=12555
Diffstat (limited to 'desktop')
-rw-r--r-- | desktop/browser.c | 7 | ||||
-rw-r--r-- | desktop/selection.c | 6 |
2 files changed, 4 insertions, 9 deletions
diff --git a/desktop/browser.c b/desktop/browser.c index 827896835..cc19ccdc0 100644 --- a/desktop/browser.c +++ b/desktop/browser.c @@ -292,7 +292,6 @@ struct browser_window *browser_window_create(const char *url, bw->focus = bw; bw->sel = selection_create(); - selection_set_browser_window(bw->sel, bw); /* gui window */ /* from the front end's pov, it clones the top level browser window, @@ -1683,10 +1682,6 @@ void browser_window_mouse_track(struct browser_window *bw, browser_window_mouse_drag_end(bw, mouse, x, y); } - if (bw->drag_type != DRAGGING_NONE) { - selection_set_browser_window(bw->sel, bw); - } - if (bw->drag_type == DRAGGING_FRAME) { browser_window_resize_frame(bw, bw->x0 + x, bw->y0 + y); } else if (bw->drag_type == DRAGGING_PAGE_SCROLL) { @@ -1741,8 +1736,6 @@ void browser_window_mouse_click(struct browser_window *bw, top = browser_window_get_root(bw); top->focus = bw; - selection_set_browser_window(bw->sel, bw); - switch (content_get_type(c)) { case CONTENT_HTML: case CONTENT_TEXTPLAIN: diff --git a/desktop/selection.c b/desktop/selection.c index 17e97c7fc..24502ac47 100644 --- a/desktop/selection.c +++ b/desktop/selection.c @@ -279,8 +279,8 @@ bool selection_click(struct selection *s, browser_mouse_state mouse, int pos = -1; /* 0 = inside selection, 1 = after it */ struct browser_window *top; - assert(s->bw); - top = browser_window_get_root(s->bw); + if (s->bw == NULL) + return false; /* not our problem */ if (!SAME_SPACE(s, idx)) return false; /* not our problem */ @@ -294,6 +294,8 @@ bool selection_click(struct selection *s, browser_mouse_state mouse, } } + top = browser_window_get_root(s->bw); + if (!pos && ((mouse & BROWSER_MOUSE_DRAG_1) || (modkeys && (mouse & BROWSER_MOUSE_DRAG_2)))) { |