From f8bf896e226812cdc9b737c10e18f35bd23939a4 Mon Sep 17 00:00:00 2001 From: Robert Zubeck Date: Fri, 9 Feb 2007 21:42:13 +0000 Subject: [PATCH] Quick fix to how objects are tested before being sent in a message. We used to compare them against the Object class, but that doesn't work well in the presence of multiple application domains. So instead we check for the presence of parent classes. git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@166 c613c5cb-e716-0410-b11b-feb51c14d237 --- src/as/com/threerings/ezgame/client/GameControlBackend.as | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/as/com/threerings/ezgame/client/GameControlBackend.as b/src/as/com/threerings/ezgame/client/GameControlBackend.as index e66c3d47..e314aabf 100644 --- a/src/as/com/threerings/ezgame/client/GameControlBackend.as +++ b/src/as/com/threerings/ezgame/client/GameControlBackend.as @@ -15,6 +15,7 @@ import flash.display.InteractiveObject; import flash.utils.IExternalizable; import flash.utils.ByteArray; import flash.utils.Dictionary; +import flash.utils.getQualifiedSuperclassName; import com.threerings.io.TypedArray; @@ -481,7 +482,9 @@ public class GameControlBackend if (clazz == ByteArray) { return; // kosher } - if (clazz != Object ) { + var clazzparentname :String = getQualifiedSuperclassName (clazz); + var rootclass :Boolean = (clazzparentname == null); + if (! rootclass) { throw new ArgumentError( "Non-simple properties may not be set."); }