Fixed crash in gamestate inspector (fixes #4540)

Changing the use of callbacks to NOTIFY_MODIFIED events (2adac53461) made it so the widget reference
passed to the callback was now a tree view node and not the tree view itself.
This commit is contained in:
Charles Dang 2019-11-03 19:15:26 +11:00
parent f006b5c082
commit fcd81f464e

View file

@ -319,22 +319,22 @@ public:
{
}
void handle_stuff_list_item_clicked(widget& tree)
void handle_stuff_list_item_clicked(widget& node)
{
tree_view_node* selected = dynamic_cast<tree_view&>(tree).selected_item();
callbacks[selected->describe_path()](*selected);
tree_view_node& selected = dynamic_cast<tree_view_node&>(node);
callbacks[selected.describe_path()](selected);
// We recursively fold, but non-recursively unfold.
// This is because only one node on a level should be open at any given time.
// Furthermore, there's no need to remember that a subnode was open once the parent is closed.
if(!selected->is_root_node()) {
for(auto& node : selected->parent_node().children()) {
if(node.get() != selected) {
if(!selected.is_root_node()) {
for(auto& node : selected.parent_node().children()) {
if(node.get() != &selected) {
node->fold(true);
}
}
selected->unfold();
selected.unfold();
}
view_.update(model_);