Fix editor crash when StreamPeerSSL is unavilable.
The fix for EditorNode is a bit hacky, but the handling of the buttons and features there is hacky too (based on enums that might not reflect the actual state).
This commit is contained in:
parent
e9d624d7ce
commit
c798173332
2 changed files with 9 additions and 5 deletions
|
@ -39,7 +39,9 @@ StreamPeerSSL *(*StreamPeerSSL::_create)() = NULL;
|
||||||
|
|
||||||
StreamPeerSSL *StreamPeerSSL::create() {
|
StreamPeerSSL *StreamPeerSSL::create() {
|
||||||
|
|
||||||
return _create();
|
if (_create)
|
||||||
|
return _create();
|
||||||
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
StreamPeerSSL::LoadCertsFromMemory StreamPeerSSL::load_certs_func = NULL;
|
StreamPeerSSL::LoadCertsFromMemory StreamPeerSSL::load_certs_func = NULL;
|
||||||
|
|
|
@ -222,7 +222,7 @@ void EditorNode::_unhandled_input(const Ref<InputEvent> &p_event) {
|
||||||
_editor_select(EDITOR_SCRIPT);
|
_editor_select(EDITOR_SCRIPT);
|
||||||
} else if (ED_IS_SHORTCUT("editor/editor_help", p_event)) {
|
} else if (ED_IS_SHORTCUT("editor/editor_help", p_event)) {
|
||||||
emit_signal("request_help_search", "");
|
emit_signal("request_help_search", "");
|
||||||
} else if (ED_IS_SHORTCUT("editor/editor_assetlib", p_event)) {
|
} else if (ED_IS_SHORTCUT("editor/editor_assetlib", p_event) && StreamPeerSSL::is_available()) {
|
||||||
_editor_select(EDITOR_ASSETLIB);
|
_editor_select(EDITOR_ASSETLIB);
|
||||||
} else if (ED_IS_SHORTCUT("editor/editor_next", p_event)) {
|
} else if (ED_IS_SHORTCUT("editor/editor_next", p_event)) {
|
||||||
_editor_select_next();
|
_editor_select_next();
|
||||||
|
@ -5090,10 +5090,11 @@ void EditorNode::_feature_profile_changed() {
|
||||||
|
|
||||||
main_editor_buttons[EDITOR_3D]->set_visible(!profile->is_feature_disabled(EditorFeatureProfile::FEATURE_3D));
|
main_editor_buttons[EDITOR_3D]->set_visible(!profile->is_feature_disabled(EditorFeatureProfile::FEATURE_3D));
|
||||||
main_editor_buttons[EDITOR_SCRIPT]->set_visible(!profile->is_feature_disabled(EditorFeatureProfile::FEATURE_SCRIPT));
|
main_editor_buttons[EDITOR_SCRIPT]->set_visible(!profile->is_feature_disabled(EditorFeatureProfile::FEATURE_SCRIPT));
|
||||||
main_editor_buttons[EDITOR_ASSETLIB]->set_visible(!profile->is_feature_disabled(EditorFeatureProfile::FEATURE_ASSET_LIB));
|
if (StreamPeerSSL::is_available())
|
||||||
|
main_editor_buttons[EDITOR_ASSETLIB]->set_visible(!profile->is_feature_disabled(EditorFeatureProfile::FEATURE_ASSET_LIB));
|
||||||
if ((profile->is_feature_disabled(EditorFeatureProfile::FEATURE_3D) && singleton->main_editor_buttons[EDITOR_3D]->is_pressed()) ||
|
if ((profile->is_feature_disabled(EditorFeatureProfile::FEATURE_3D) && singleton->main_editor_buttons[EDITOR_3D]->is_pressed()) ||
|
||||||
(profile->is_feature_disabled(EditorFeatureProfile::FEATURE_SCRIPT) && singleton->main_editor_buttons[EDITOR_SCRIPT]->is_pressed()) ||
|
(profile->is_feature_disabled(EditorFeatureProfile::FEATURE_SCRIPT) && singleton->main_editor_buttons[EDITOR_SCRIPT]->is_pressed()) ||
|
||||||
(profile->is_feature_disabled(EditorFeatureProfile::FEATURE_ASSET_LIB) && singleton->main_editor_buttons[EDITOR_ASSETLIB]->is_pressed())) {
|
(StreamPeerSSL::is_available() && profile->is_feature_disabled(EditorFeatureProfile::FEATURE_ASSET_LIB) && singleton->main_editor_buttons[EDITOR_ASSETLIB]->is_pressed())) {
|
||||||
_editor_select(EDITOR_2D);
|
_editor_select(EDITOR_2D);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
@ -5106,7 +5107,8 @@ void EditorNode::_feature_profile_changed() {
|
||||||
filesystem_dock->set_visible(true);
|
filesystem_dock->set_visible(true);
|
||||||
main_editor_buttons[EDITOR_3D]->set_visible(true);
|
main_editor_buttons[EDITOR_3D]->set_visible(true);
|
||||||
main_editor_buttons[EDITOR_SCRIPT]->set_visible(true);
|
main_editor_buttons[EDITOR_SCRIPT]->set_visible(true);
|
||||||
main_editor_buttons[EDITOR_ASSETLIB]->set_visible(true);
|
if (StreamPeerSSL::is_available())
|
||||||
|
main_editor_buttons[EDITOR_ASSETLIB]->set_visible(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
_update_dock_slots_visibility();
|
_update_dock_slots_visibility();
|
||||||
|
|
Loading…
Reference in a new issue