ecere/com/dataTypes: Fixed IDE crashes caused by recomputing type size for Strings
authorJerome St-Louis <jerome@ecere.com>
Thu, 22 May 2014 14:33:07 +0000 (10:33 -0400)
committerJerome St-Louis <jerome@ecere.com>
Thu, 22 May 2014 14:33:07 +0000 (10:33 -0400)
- Marking String classes as not recomputing size to avoid assuming the 12/24 bytes from Instance

compiler/bootstrap/ecere/bootstrap/dataTypes.c
ecere/src/com/dataTypes.ec

index 921b191..42b3354 100644 (file)
@@ -2898,6 +2898,7 @@ struct __ecereNameSpace__ecere__com__Class * stringClass = __ecereNameSpace__ece
 (__ecereNameSpace__ecere__com__eSystem_Delete(stringClass->dataTypeString), stringClass->dataTypeString = 0);
 stringClass->dataTypeString = __ecereNameSpace__ecere__sys__CopyString("char *");
 stringClass->structSize = 0;
+stringClass->computeSize = 0x0;
 __ecereNameSpace__ecere__com__eClass_AddMethod(stringClass, "OnCompare", (((void *)0)), __ecereNameSpace__ecere__com__String_OnCompare, 1);
 __ecereNameSpace__ecere__com__eClass_AddMethod(stringClass, "OnCopy", (((void *)0)), __ecereNameSpace__ecere__com__String_OnCopy, 1);
 __ecereNameSpace__ecere__com__eClass_AddMethod(stringClass, "OnFree", (((void *)0)), __ecereNameSpace__ecere__com__String_OnFree, 1);
@@ -2907,6 +2908,7 @@ __ecereNameSpace__ecere__com__eClass_AddMethod(stringClass, "OnSerialize", (((vo
 __ecereNameSpace__ecere__com__eClass_AddMethod(stringClass, "OnUnserialize", (((void *)0)), __ecereNameSpace__ecere__com__String_OnUnserialize, 1);
 stringClass = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "String", "char *", 0, 0, (((void *)0)), (((void *)0)), module, 4, 1);
 stringClass->structSize = 0;
+stringClass->computeSize = 0x0;
 __ecereNameSpace__ecere__com__eClass_AddProperty(stringClass, (((void *)0)), "char *", (((void *)0)), (((void *)0)), 1);
 }
 
index a6a9df8..5c763f6 100644 (file)
@@ -2286,6 +2286,7 @@ static void RegisterClass_String(Module module)
    delete stringClass.dataTypeString;
    stringClass.dataTypeString = CopyString("char *");
    stringClass.structSize = 0;
+   stringClass.computeSize = false;
 
    eClass_AddMethod(stringClass, "OnCompare", null, String_OnCompare, publicAccess);
    eClass_AddMethod(stringClass, "OnCopy", null, String_OnCopy, publicAccess);
@@ -2298,6 +2299,7 @@ static void RegisterClass_String(Module module)
 
    stringClass = eSystem_RegisterClass(normalClass, "String", "char *", 0, 0, null, null, module, baseSystemAccess, publicAccess);
    stringClass.structSize = 0;
+   stringClass.computeSize = false;
    eClass_AddProperty(stringClass, null, "char *", null, null, publicAccess);
 }