summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--riscos/treeview.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/riscos/treeview.c b/riscos/treeview.c
index 5b0488acb..e570819d0 100644
--- a/riscos/treeview.c
+++ b/riscos/treeview.c
@@ -610,7 +610,6 @@ bool ro_gui_tree_click(wimp_pointer *pointer, struct tree *tree) {
x = pointer->pos.x - ro_gui_tree_origin_x;
y = ro_gui_tree_origin_y - pointer->pos.y;
element = tree_get_node_element_at(tree->root->child, x, y, &furniture);
- node = element->parent;
/* stop editing for anything but a drag */
@@ -623,6 +622,8 @@ bool ro_gui_tree_click(wimp_pointer *pointer, struct tree *tree) {
if ((!element) || (!tree->root->child) ||
(tree_has_selection(tree->root->child)))
return true;
+
+ node = element->parent;
tree->temp_selection = node;
node->selected = true;
tree_handle_node_element_changed(tree, &node->data);
@@ -674,6 +675,8 @@ bool ro_gui_tree_click(wimp_pointer *pointer, struct tree *tree) {
return true;
}
+ node = element->parent;
+
/* click on furniture or double click on folder toggles node expansion */
if (((furniture) && ((pointer->buttons == wimp_CLICK_SELECT << 8) ||
(pointer->buttons == wimp_CLICK_ADJUST << 8) ||