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
This commit is contained in:
@@ -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.");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user