void Dock_History::set_selected_instance_(etl::handle<studio::Instance> instance) { if(studio::App::shutdown_in_progress) return; if (on_undo_tree_changed_connection) on_undo_tree_changed_connection.disconnect(); selected_instance=instance; if(instance) { on_undo_tree_changed_connection = selected_instance->history_tree_store()->signal_undo_tree_changed().connect( sigc::mem_fun(*this,&Dock_History::on_undo_tree_changed)); action_tree->set_model(instance->history_tree_store()); action_tree->show(); update_undo_redo(); action_group->set_sensitive(true); } else { action_tree->set_model(Glib::RefPtr< Gtk::TreeModel >()); action_tree->hide(); action_group->set_sensitive(false); } }