summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorWill Nations <willnationsdev@gmail.com>2019-02-05 21:46:21 -0600
committerWill Nations <willnationsdev@gmail.com>2019-02-06 16:17:56 -0600
commitc4ff433b17695a65624e2b1829c981d77ce1adcd (patch)
tree05fe683872eba101ca92a23167fdb0af51becb5e /modules
parent26cf4fed6eefeae92f880b78f6d39696a66f1966 (diff)
Fix script class icon filepath lookups at runtime.
Diffstat (limited to 'modules')
-rw-r--r--modules/gdscript/gdscript_parser.cpp20
1 files changed, 12 insertions, 8 deletions
diff --git a/modules/gdscript/gdscript_parser.cpp b/modules/gdscript/gdscript_parser.cpp
index a012ccad30..b983922054 100644
--- a/modules/gdscript/gdscript_parser.cpp
+++ b/modules/gdscript/gdscript_parser.cpp
@@ -3479,16 +3479,20 @@ void GDScriptParser::_parse_class(ClassNode *p_class) {
tokenizer->advance();
if ((tokenizer->get_token() == GDScriptTokenizer::TK_CONSTANT && tokenizer->get_token_constant().get_type() == Variant::STRING)) {
- Variant constant = tokenizer->get_token_constant();
- String icon_path = constant.operator String();
+#ifdef TOOLS_ENABLED
+ if (Engine::get_singleton()->is_editor_hint()) {
+ Variant constant = tokenizer->get_token_constant();
+ String icon_path = constant.operator String();
- String abs_icon_path = icon_path.is_rel_path() ? self_path.get_base_dir().plus_file(icon_path).simplify_path() : icon_path;
- if (!FileAccess::exists(abs_icon_path)) {
- _set_error("No class icon found at: " + abs_icon_path);
- return;
- }
+ String abs_icon_path = icon_path.is_rel_path() ? self_path.get_base_dir().plus_file(icon_path).simplify_path() : icon_path;
+ if (!FileAccess::exists(abs_icon_path)) {
+ _set_error("No class icon found at: " + abs_icon_path);
+ return;
+ }
- p_class->icon_path = icon_path;
+ p_class->icon_path = icon_path;
+ }
+#endif
tokenizer->advance();
} else {