Prevent crash attaching a script with no languages registered
(cherry picked from commit 52f3cfca6f
)
This commit is contained in:
parent
424d1b5fab
commit
3649c61e46
|
@ -2591,6 +2591,11 @@ void SceneTreeDock::_focus_node() {
|
||||||
}
|
}
|
||||||
|
|
||||||
void SceneTreeDock::attach_script_to_selected(bool p_extend) {
|
void SceneTreeDock::attach_script_to_selected(bool p_extend) {
|
||||||
|
if (ScriptServer::get_language_count() == 0) {
|
||||||
|
EditorNode::get_singleton()->show_warning(TTR("Cannot attach a script: there are no languages registered.\nThis is probably because this editor was built with all language modules disabled."));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (!profile_allow_script_editing) {
|
if (!profile_allow_script_editing) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
@ -800,7 +800,7 @@ ScriptCreateDialog::ScriptCreateDialog() {
|
||||||
gc->add_child(memnew(Label(TTR("Language:"))));
|
gc->add_child(memnew(Label(TTR("Language:"))));
|
||||||
gc->add_child(language_menu);
|
gc->add_child(language_menu);
|
||||||
|
|
||||||
default_language = 0;
|
default_language = -1;
|
||||||
for (int i = 0; i < ScriptServer::get_language_count(); i++) {
|
for (int i = 0; i < ScriptServer::get_language_count(); i++) {
|
||||||
|
|
||||||
String lang = ScriptServer::get_language(i)->get_name();
|
String lang = ScriptServer::get_language(i)->get_name();
|
||||||
|
@ -809,8 +809,9 @@ ScriptCreateDialog::ScriptCreateDialog() {
|
||||||
default_language = i;
|
default_language = i;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (default_language >= 0) {
|
||||||
language_menu->select(default_language);
|
language_menu->select(default_language);
|
||||||
|
}
|
||||||
current_language = default_language;
|
current_language = default_language;
|
||||||
|
|
||||||
language_menu->connect("item_selected", this, "_lang_changed");
|
language_menu->connect("item_selected", this, "_lang_changed");
|
||||||
|
|
Loading…
Reference in New Issue