summaryrefslogtreecommitdiff
path: root/desktop
diff options
context:
space:
mode:
Diffstat (limited to 'desktop')
-rw-r--r--desktop/browser.c7
-rw-r--r--desktop/selection.c6
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)))) {