ecere;Container;Map; fix serialization of strings.
authorRejean Loyer <redj@ecere.com>
Wed, 20 Nov 2013 19:51:49 +0000 (14:51 -0500)
committerRejean Loyer <redj@ecere.com>
Mon, 3 Feb 2014 18:48:53 +0000 (13:48 -0500)
ecere/src/com/containers/Container.ec
ecere/src/com/containers/Map.ec

index bf59837..a12913f 100644 (file)
@@ -259,7 +259,7 @@ public:
       uint count = GetCount();
       IteratorPointer i;
       Class Dclass = class(D);
-      bool isNormalClass = Dclass.type == normalClass;
+      bool isNormalClass = (Dclass.type == normalClass) && Dclass.structSize;
 
       channel.Put(count);
       for(i = GetFirst(); i; i = GetNext(i))
index 031fcaf..b9fc940 100644 (file)
@@ -245,8 +245,8 @@ public class Map<class MT, class V> : CustomAVLTree<MapNode<MT, V>, I = MT, D =
       IteratorPointer i;
       Class Kclass = class(MT);
       Class Dclass = class(V);
-      bool kIsNormalClass = Kclass.type == normalClass;
-      bool dIsNormalClass = Dclass.type == normalClass;
+      bool kIsNormalClass = (Kclass.type == normalClass) && Kclass.structSize;
+      bool dIsNormalClass = (Dclass.type == normalClass) && Dclass.structSize;
 
       channel.Put(count);
       for(i = GetFirst(); i; i = GetNext(i))