diff options
-rw-r--r-- | doc/classes/BaseButton.xml | 3 | ||||
-rw-r--r-- | editor/plugins/script_editor_plugin.cpp | 2 | ||||
-rw-r--r-- | editor/scene_tree_dock.cpp | 6 |
3 files changed, 5 insertions, 6 deletions
diff --git a/doc/classes/BaseButton.xml b/doc/classes/BaseButton.xml index 5e908b0e53..3812b45b13 100644 --- a/doc/classes/BaseButton.xml +++ b/doc/classes/BaseButton.xml @@ -13,7 +13,7 @@ <return type="void"> </return> <description> - Called when the button is pressed. + Called when the button is pressed. If you need to know the button's pressed state (and [member toggle_mode] is active), use [method _toggled] instead. </description> </method> <method name="_toggled" qualifiers="virtual"> @@ -89,6 +89,7 @@ <signal name="pressed"> <description> Emitted when the button is toggled or pressed. This is on [signal button_down] if [member action_mode] is [constant ACTION_MODE_BUTTON_PRESS] and on [signal button_up] otherwise. + If you need to know the button's pressed state (and [member toggle_mode] is active), use [signal toggled] instead. </description> </signal> <signal name="toggled"> diff --git a/editor/plugins/script_editor_plugin.cpp b/editor/plugins/script_editor_plugin.cpp index 4f783f4e27..71830d0464 100644 --- a/editor/plugins/script_editor_plugin.cpp +++ b/editor/plugins/script_editor_plugin.cpp @@ -701,7 +701,7 @@ void ScriptEditor::_close_tab(int p_idx, bool p_save, bool p_history_back) { Ref<Script> script = current->get_edited_resource(); if (p_save) { // Do not try to save internal scripts - if (!(script->get_path() == "" || script->get_path().find("local://") != -1 || script->get_path().find("::") != -1)) { + if (!script.is_valid() || !(script->get_path() == "" || script->get_path().find("local://") != -1 || script->get_path().find("::") != -1)) { _menu_option(FILE_SAVE); } } diff --git a/editor/scene_tree_dock.cpp b/editor/scene_tree_dock.cpp index 90747e45e4..13fb74987c 100644 --- a/editor/scene_tree_dock.cpp +++ b/editor/scene_tree_dock.cpp @@ -1217,7 +1217,6 @@ void SceneTreeDock::_node_selected() { Node *node = scene_tree->get_selected(); if (!node) { - editor->push_item(nullptr); return; } @@ -1902,11 +1901,10 @@ void SceneTreeDock::_selection_changed() { if (selection_size > 1) { //automatically turn on multi-edit _tool_selected(TOOL_MULTI_EDIT); - } else if (selection_size == 1) { - editor->push_item(EditorNode::get_singleton()->get_editor_selection()->get_selected_node_list()[0]); - } else { + } else if (selection_size == 0) { editor->push_item(nullptr); } + _update_script_button(); } |