summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJuan Linietsky <reduzio@gmail.com>2015-10-17 10:51:45 -0300
committerJuan Linietsky <reduzio@gmail.com>2015-10-17 10:51:45 -0300
commitc22b627ee34a5849955192b18c6cbaee612a4cc0 (patch)
tree6dd13f0ea91e97d53bee06a86cb4dec7758254a8
parent277a339cf0cbcd4132180879d15c85cad34f7e10 (diff)
parentf6eff87793a3200e728bcc4dc33dc9c612d73036 (diff)
Merge pull request #2362 from AlexHolly/update-scene-tab-fix
[UI-FIX] - Update scene tabs on save
-rw-r--r--scene/gui/popup_menu.cpp10
-rw-r--r--tools/editor/editor_node.cpp2
2 files changed, 10 insertions, 2 deletions
diff --git a/scene/gui/popup_menu.cpp b/scene/gui/popup_menu.cpp
index 5afe2ed704..6c21ea639f 100644
--- a/scene/gui/popup_menu.cpp
+++ b/scene/gui/popup_menu.cpp
@@ -740,10 +740,18 @@ int PopupMenu::find_item_by_accelerator(uint32_t p_accel) const {
void PopupMenu::activate_item(int p_item) {
-
ERR_FAIL_INDEX(p_item,items.size());
ERR_FAIL_COND(items[p_item].separator);
emit_signal("item_pressed",items[p_item].ID);
+
+ //hide all parent PopupMenue's
+ Node *next = get_parent();
+ PopupMenu *pop = next->cast_to<PopupMenu>();
+ while (pop) {
+ pop->hide();
+ next = next->get_parent();
+ pop = next->cast_to<PopupMenu>();
+ }
hide();
}
diff --git a/tools/editor/editor_node.cpp b/tools/editor/editor_node.cpp
index 54b47be49c..f007e95494 100644
--- a/tools/editor/editor_node.cpp
+++ b/tools/editor/editor_node.cpp
@@ -976,6 +976,7 @@ void EditorNode::_save_scene(String p_file) {
//EditorFileSystem::get_singleton()->update_file(p_file,sdata->get_type());
set_current_version(editor_data.get_undo_redo().get_version());
_update_title();
+ _update_scene_tabs();
} else {
_dialog_display_file_error(p_file,err);
@@ -1399,7 +1400,6 @@ void EditorNode::_dialog_action(String p_file) {
} break;
default: { //save scene?
-
if (file->get_mode()==FileDialog::MODE_SAVE_FILE) {
//_save_scene(p_file);