Răsfoiți Sursa

[java/cs] Closure bug when acessed by classes reflection

Caue Waneck 13 ani în urmă
părinte
comite
e164e5bf57
2 a modificat fișierele cu 2 adăugiri și 2 ștergeri
  1. 1 1
      std/cs/_std/haxe/lang/Runtime.hx
  2. 1 1
      std/java/_std/haxe/lang/Runtime.hx

+ 1 - 1
std/cs/_std/haxe/lang/Runtime.hx

@@ -239,7 +239,7 @@ import system.Type;
 				System.Reflection.MemberInfo[] m = t.GetMember(field, bf);
 				System.Reflection.MemberInfo[] m = t.GetMember(field, bf);
 				if (m.Length > 0)
 				if (m.Length > 0)
 				{
 				{
-					return new haxe.lang.Closure(obj, field, 0);
+					return new haxe.lang.Closure(obj != null ? obj : t, field, 0);
 				} else {
 				} else {
 					if (throwErrors) 
 					if (throwErrors) 
 						throw HaxeException.wrap("Cannot access field \'" + field + "\'.");
 						throw HaxeException.wrap("Cannot access field \'" + field + "\'.");

+ 1 - 1
std/java/_std/haxe/lang/Runtime.hx

@@ -273,7 +273,7 @@ package haxe.lang;
 			{
 			{
 				if (ms[i].getName().equals(field))
 				if (ms[i].getName().equals(field))
 				{
 				{
-					return new haxe.lang.Closure(obj, field);
+					return new haxe.lang.Closure(obj != null ? obj : cl, field);
 				}
 				}
 			}
 			}
 		} catch (Throwable t2)
 		} catch (Throwable t2)