From: Jerome St-Louis Date: Thu, 22 May 2014 14:33:07 +0000 (-0400) Subject: ecere/com/dataTypes: Fixed IDE crashes caused by recomputing type size for Strings X-Git-Tag: 0.44.10PR1~212 X-Git-Url: https://ecere.com/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2d90a9cc079fa7121160e0c503440b7c9e2851aa;p=sdk ecere/com/dataTypes: Fixed IDE crashes caused by recomputing type size for Strings - Marking String classes as not recomputing size to avoid assuming the 12/24 bytes from Instance --- diff --git a/compiler/bootstrap/ecere/bootstrap/dataTypes.c b/compiler/bootstrap/ecere/bootstrap/dataTypes.c index 921b191..42b3354 100644 --- a/compiler/bootstrap/ecere/bootstrap/dataTypes.c +++ b/compiler/bootstrap/ecere/bootstrap/dataTypes.c @@ -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); } diff --git a/ecere/src/com/dataTypes.ec b/ecere/src/com/dataTypes.ec index a6a9df8..5c763f6 100644 --- a/ecere/src/com/dataTypes.ec +++ b/ecere/src/com/dataTypes.ec @@ -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); }