From 1a1b62748a01928401a344b8c538b59f75706ece Mon Sep 17 00:00:00 2001 From: George Marques Date: Sun, 10 Jul 2016 17:19:19 -0300 Subject: [PATCH] Fix crash on asset lib install This is not the perfect solution, but fixes the crash and avoid a dependency on EditorNode. --- main/main.cpp | 2 ++ tools/editor/asset_library_editor_plugin.cpp | 3 ++- tools/editor/editor_asset_installer.cpp | 6 ++++-- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/main/main.cpp b/main/main.cpp index adaebab1d4c..aa8540632f6 100644 --- a/main/main.cpp +++ b/main/main.cpp @@ -1504,6 +1504,8 @@ bool Main::start() { if (project_manager_request || (script=="" && test=="" && game_path=="" && !editor)) { ProjectManager *pmanager = memnew( ProjectManager ); + ProgressDialog *progress_dialog = memnew( ProgressDialog ); + pmanager->add_child(progress_dialog); sml->get_root()->add_child(pmanager); OS::get_singleton()->set_context(OS::CONTEXT_PROJECTMAN); } diff --git a/tools/editor/asset_library_editor_plugin.cpp b/tools/editor/asset_library_editor_plugin.cpp index ee535310bc6..f132e946901 100644 --- a/tools/editor/asset_library_editor_plugin.cpp +++ b/tools/editor/asset_library_editor_plugin.cpp @@ -600,7 +600,8 @@ void EditorAssetLibrary::_install_asset() { EditorAssetLibraryItemDownload *d = downloads_hb->get_child(i)->cast_to(); if (d && d->get_asset_id() == description->get_asset_id()) { - EditorNode::get_singleton()->show_warning("Download for this asset is already in progress!"); + if (EditorNode::get_singleton() != NULL) + EditorNode::get_singleton()->show_warning("Download for this asset is already in progress!"); return; } } diff --git a/tools/editor/editor_asset_installer.cpp b/tools/editor/editor_asset_installer.cpp index ec36773d8d1..b6051886c07 100644 --- a/tools/editor/editor_asset_installer.cpp +++ b/tools/editor/editor_asset_installer.cpp @@ -317,9 +317,11 @@ void EditorAssetInstaller::ok_pressed() { } msg+=failed_files[i]; } - EditorNode::get_singleton()->show_warning(msg); + if (EditorNode::get_singleton() != NULL) + EditorNode::get_singleton()->show_warning(msg); } else { - EditorNode::get_singleton()->show_warning("Package Installed Successfully!","Success!"); + if (EditorNode::get_singleton() != NULL) + EditorNode::get_singleton()->show_warning("Package Installed Successfully!","Success!"); }