summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWill Nations <willnationsdev@gmail.com>2018-08-15 09:12:35 -0500
committerWill Nations <willnationsdev@gmail.com>2018-08-15 10:17:28 -0500
commit3ed92311175bb7024d7b51e7c70acbeaaf0b4947 (patch)
treead898573687338748234b2b84092fe876cae8676
parentd006aa0abb1c7580755a4fe72502d3a362d3f01f (diff)
Fix error spam from loading script class icons
-rw-r--r--editor/create_dialog.cpp15
-rw-r--r--modules/gdscript/gdscript.cpp2
2 files changed, 10 insertions, 7 deletions
diff --git a/editor/create_dialog.cpp b/editor/create_dialog.cpp
index ab7a7054eb..0bc4244642 100644
--- a/editor/create_dialog.cpp
+++ b/editor/create_dialog.cpp
@@ -158,12 +158,15 @@ Ref<Texture> CreateDialog::_get_editor_icon(const String &p_type) const {
}
if (ScriptServer::is_global_class(p_type)) {
- RES icon = ResourceLoader::load(EditorNode::get_editor_data().script_class_get_icon_path(p_type));
- if (icon.is_valid())
- return icon;
- icon = get_icon(ScriptServer::get_global_class_base(p_type), "EditorIcons");
- if (icon.is_valid())
- return icon;
+ String icon_path = EditorNode::get_editor_data().script_class_get_icon_path(p_type);
+ RES icon;
+ if (FileAccess::exists(icon_path)) {
+ icon = ResourceLoader::load(icon_path);
+ }
+ if (!icon.is_valid()) {
+ icon = get_icon(ScriptServer::get_global_class_base(p_type), "EditorIcons");
+ }
+ return icon;
}
const Map<String, Vector<EditorData::CustomType> > &p_map = EditorNode::get_editor_data().get_custom_types();
diff --git a/modules/gdscript/gdscript.cpp b/modules/gdscript/gdscript.cpp
index 8cf7121630..b987d2897f 100644
--- a/modules/gdscript/gdscript.cpp
+++ b/modules/gdscript/gdscript.cpp
@@ -1877,7 +1877,7 @@ String GDScriptLanguage::get_global_class_name(const String &p_path, String *r_b
}
}
if (r_icon_path) {
- if (c->icon_path.is_abs_path())
+ if (c->icon_path.empty() || c->icon_path.is_abs_path())
*r_icon_path = c->icon_path;
else if (c->icon_path.is_rel_path())
*r_icon_path = p_path.get_base_dir().plus_file(c->icon_path).simplify_path();