Merge pull request #81156 from jsjtxietian/fix-crash-when-built-in-scripts-not-saved-and-have-error
Fix a crash when built-in script is not saved and have syntax error
This commit is contained in:
commit
56a5fb26a0
1 changed files with 7 additions and 5 deletions
|
@ -480,16 +480,18 @@ void ScriptTextEditor::_validate_script() {
|
|||
|
||||
if (!script->get_language()->validate(text, script->get_path(), &fnc, &errors, &warnings, &safe_lines)) {
|
||||
for (List<ScriptLanguage::ScriptError>::Element *E = errors.front(); E; E = E->next()) {
|
||||
if (E->get().path.is_empty() || E->get().path != script->get_path()) {
|
||||
if ((E->get().path.is_empty() && !script->get_path().is_empty()) || E->get().path != script->get_path()) {
|
||||
depended_errors[E->get().path].push_back(E->get());
|
||||
E->erase();
|
||||
}
|
||||
}
|
||||
|
||||
// TRANSLATORS: Script error pointing to a line and column number.
|
||||
String error_text = vformat(TTR("Error at (%d, %d):"), errors[0].line, errors[0].column) + " " + errors[0].message;
|
||||
code_editor->set_error(error_text);
|
||||
code_editor->set_error_pos(errors[0].line - 1, errors[0].column - 1);
|
||||
if (errors.size() > 0) {
|
||||
// TRANSLATORS: Script error pointing to a line and column number.
|
||||
String error_text = vformat(TTR("Error at (%d, %d):"), errors[0].line, errors[0].column) + " " + errors[0].message;
|
||||
code_editor->set_error(error_text);
|
||||
code_editor->set_error_pos(errors[0].line - 1, errors[0].column - 1);
|
||||
}
|
||||
script_is_valid = false;
|
||||
} else {
|
||||
code_editor->set_error("");
|
||||
|
|
Loading…
Reference in a new issue