Fix Find in Files Not Working Properly

When using the "Find in Files" option to search in non-script files (e.g. .tscn), the search does not work properly.
This commit is contained in:
Emmanuel Barroga
2019-08-06 23:41:10 -07:00
parent 52cfb5f579
commit 0d8c7c30a0
3 changed files with 26 additions and 4 deletions

View File

@ -44,6 +44,7 @@
#include "editor/script_editor_debugger.h"
#include "scene/main/viewport.h"
#include "script_text_editor.h"
#include "text_editor.h"
/*** SCRIPT EDITOR ****/
@ -2995,11 +2996,26 @@ void ScriptEditor::_on_find_in_files_result_selected(String fpath, int line_numb
shader_editor->make_visible(true);
shader_editor->get_shader_editor()->goto_line_selection(line_number - 1, begin, end);
} else {
edit(res);
Ref<Script> script = res;
if (script.is_valid()) {
edit(script);
ScriptTextEditor *ste = Object::cast_to<ScriptTextEditor>(_get_current_editor());
if (ste) {
ste->goto_line_selection(line_number - 1, begin, end);
ScriptTextEditor *ste = Object::cast_to<ScriptTextEditor>(_get_current_editor());
if (ste) {
ste->goto_line_selection(line_number - 1, begin, end);
}
} else { //if file is not valid script, load as text file
Error err;
Ref<TextFile> text_file = _load_text_file(fpath, &err);
if (text_file.is_valid()) {
edit(text_file);
TextEditor *te = Object::cast_to<TextEditor>(_get_current_editor());
if (te) {
te->goto_line_selection(line_number - 1, begin, end);
}
}
}
}
}