Fix wrong TreeItem reference after reconstructing
This commit is contained in:
parent
43574f65da
commit
4a8d2b676e
|
@ -833,7 +833,6 @@ void Tree::update_cache() {
|
||||||
cache.title_button_color = get_color("title_button_color");
|
cache.title_button_color = get_color("title_button_color");
|
||||||
|
|
||||||
v_scroll->set_custom_step(cache.font->get_height());
|
v_scroll->set_custom_step(cache.font->get_height());
|
||||||
cache.click_item=get_selected();
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1581,6 +1580,7 @@ int Tree::propagate_mouse_event(const Point2i &p_pos,int x_ofs,int y_ofs,bool p_
|
||||||
cache.click_id=c.buttons[j].id;
|
cache.click_id=c.buttons[j].id;
|
||||||
cache.click_item=p_item;
|
cache.click_item=p_item;
|
||||||
cache.click_column=col;
|
cache.click_column=col;
|
||||||
|
cache.click_pos=get_global_mouse_pos()-get_global_pos();
|
||||||
update();
|
update();
|
||||||
//emit_signal("button_pressed");
|
//emit_signal("button_pressed");
|
||||||
return -1;
|
return -1;
|
||||||
|
@ -2352,6 +2352,8 @@ void Tree::_input_event(InputEvent p_event) {
|
||||||
|
|
||||||
|
|
||||||
if (cache.click_type==Cache::CLICK_BUTTON) {
|
if (cache.click_type==Cache::CLICK_BUTTON) {
|
||||||
|
// make sure in case of wrong reference after reconstructing whole TreeItems
|
||||||
|
cache.click_item=get_item_at_pos(cache.click_pos);
|
||||||
emit_signal("button_pressed",cache.click_item,cache.click_column,cache.click_id);
|
emit_signal("button_pressed",cache.click_item,cache.click_column,cache.click_id);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -2937,7 +2939,6 @@ void Tree::clear() {
|
||||||
selected_item=NULL;
|
selected_item=NULL;
|
||||||
edited_item=NULL;
|
edited_item=NULL;
|
||||||
popup_edited_item=NULL;
|
popup_edited_item=NULL;
|
||||||
selected_item=NULL;
|
|
||||||
|
|
||||||
update();
|
update();
|
||||||
};
|
};
|
||||||
|
|
|
@ -405,6 +405,7 @@ friend class TreeItem;
|
||||||
TreeItem *click_item;
|
TreeItem *click_item;
|
||||||
int click_column;
|
int click_column;
|
||||||
int hover_index;
|
int hover_index;
|
||||||
|
Point2 click_pos;
|
||||||
|
|
||||||
} cache;
|
} cache;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue