From d643a40f95b7f7392f143f68d970a0db8c61c491 Mon Sep 17 00:00:00 2001
From: Saracen <SaracenOne@gmail.com>
Date: Sat, 9 Apr 2016 03:17:02 +0100
Subject: Subclasses can now extend from other subclasses contained in scripts
 derived from relative paths.

---
 modules/gdscript/gd_compiler.cpp | 17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)

(limited to 'modules/gdscript/gd_compiler.cpp')

diff --git a/modules/gdscript/gd_compiler.cpp b/modules/gdscript/gd_compiler.cpp
index e8e8ce4e96..d38f5f3e35 100644
--- a/modules/gdscript/gd_compiler.cpp
+++ b/modules/gdscript/gd_compiler.cpp
@@ -1421,7 +1421,22 @@ Error GDCompiler::_parse_class(GDScript *p_script,GDScript *p_owner,const GDPars
 
 			if (path.is_rel_path()) {
 
-				String base = p_script->get_path();
+				String base;
+
+				if (p_owner) {
+					GDScript *current_class = p_owner;
+					while (current_class != NULL) {
+						base=current_class->get_path();
+						if (base=="")
+							current_class = current_class->_owner;
+						else
+							break;
+					}
+				}
+				else {
+					base = p_script->get_path();
+				}
+
 				if (base=="" || base.is_rel_path()) {
 					_set_error("Could not resolve relative path for parent class: "+path,p_class);
 					return ERR_FILE_NOT_FOUND;
-- 
cgit v1.2.3