Browse Source

Fix bug in inner class reference, closes #1411

Juan Linietsky 9 years ago
parent
commit
cf6450043d
1 changed files with 9 additions and 4 deletions
  1. 9 4
      modules/gdscript/gd_script.cpp

+ 9 - 4
modules/gdscript/gd_script.cpp

@@ -964,11 +964,16 @@ bool GDInstance::get(const StringName& p_name, Variant &r_ret) const {
 		}
 
 		{
-			const Map<StringName,Variant>::Element *E = script->constants.find(p_name);
-			if (E) {
-				r_ret=E->get();
-				return true; //index found
 
+			const GDScript *sl = sptr;
+			while(sl) {
+				const Map<StringName,Variant>::Element *E = sl->constants.find(p_name);
+				if (E) {
+					r_ret=E->get();
+					return true; //index found
+
+				}
+				sl=sl->_base;
 			}
 		}