diff options
Diffstat (limited to 'desktop/treeview.c')
-rw-r--r-- | desktop/treeview.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/desktop/treeview.c b/desktop/treeview.c index 8a6efa617..6aa1a4eb7 100644 --- a/desktop/treeview.c +++ b/desktop/treeview.c @@ -2690,9 +2690,9 @@ static nserror treeview_node_mouse_action_cb(treeview_node *node, void *ctx, /* Toggle selection of node */ action |= TV_NODE_ACTION_SELECTION; - } else if (ma->mouse & BROWSER_MOUSE_PRESS_1 && -// ma->mouse & BROWSER_MOUSE_MOD_3 && -/* REMOVE */ ma->mouse & BROWSER_MOUSE_MOD_1 && + } else if (ma->mouse & BROWSER_MOUSE_CLICK_1 && + ma->mouse & + (BROWSER_MOUSE_MOD_1 | BROWSER_MOUSE_MOD_3) && part != TV_NODE_PART_TOGGLE) { /* Clear any existing selection */ @@ -2703,6 +2703,8 @@ static nserror treeview_node_mouse_action_cb(treeview_node *node, void *ctx, ma->current_y, ma->x, ma->y, &r); } else if (ma->mouse & BROWSER_MOUSE_PRESS_1 && + !(ma->mouse & + (BROWSER_MOUSE_MOD_1 | BROWSER_MOUSE_MOD_3)) && !(node->flags & TREE_NODE_SELECTED) && part != TV_NODE_PART_TOGGLE) { /* Clear any existing selection */ |