diff options
| author | Rémi Verschelde <remi@verschelde.fr> | 2021-06-24 19:21:01 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-06-24 19:21:01 +0200 |
| commit | cb8f045de8cddff47331051cb4410a7652fbfff8 (patch) | |
| tree | a02dd44adb94d515b952cb018aea8957eaf7da3c /editor/plugins/script_editor_plugin.cpp | |
| parent | f6336de9469ea9e8b47bf388624a2675f13f5e0b (diff) | |
| parent | 35a38717e20fbb4e35c82fbab21b14e60b5dc516 (diff) | |
| download | redot-engine-cb8f045de8cddff47331051cb4410a7652fbfff8.tar.gz | |
Merge pull request #49650 from KoBeWi/FindReplaceCrash
Fix crash with FindReplaceBar
Diffstat (limited to 'editor/plugins/script_editor_plugin.cpp')
| -rw-r--r-- | editor/plugins/script_editor_plugin.cpp | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/editor/plugins/script_editor_plugin.cpp b/editor/plugins/script_editor_plugin.cpp index 89b486c4df..498d5b0711 100644 --- a/editor/plugins/script_editor_plugin.cpp +++ b/editor/plugins/script_editor_plugin.cpp @@ -760,6 +760,7 @@ void ScriptEditor::_close_tab(int p_idx, bool p_save, bool p_history_back) { _update_members_overview_visibility(); _update_help_overview_visibility(); _save_layout(); + _update_find_replace_bar(); } void ScriptEditor::_close_current_tab(bool p_save) { @@ -829,6 +830,7 @@ void ScriptEditor::_close_all_tabs() { _close_current_tab(false); } + _update_find_replace_bar(); } void ScriptEditor::_ask_close_current_unsaved_tab(ScriptEditorBase *current) { @@ -1640,15 +1642,13 @@ void ScriptEditor::ensure_select_current() { ScriptEditorBase *se = _get_current_editor(); if (se) { se->enable_editor(); - se->set_find_replace_bar(find_replace_bar); if (!grab_focus_block && is_visible_in_tree()) { se->ensure_focus(); } - } else { - find_replace_bar->hide(); } } + _update_find_replace_bar(); _update_selected_editor_menu(); } @@ -2520,6 +2520,16 @@ void ScriptEditor::_file_removed(const String &p_removed_file) { } } +void ScriptEditor::_update_find_replace_bar() { + ScriptEditorBase *se = _get_current_editor(); + if (se) { + se->set_find_replace_bar(find_replace_bar); + } else { + find_replace_bar->set_text_edit(nullptr); + find_replace_bar->hide(); + } +} + void ScriptEditor::_autosave_scripts() { save_all_scripts(); } |
