|
@@ -161,16 +161,29 @@ class ConsoleValue
|
|
|
|
|
|
TORQUE_FORCEINLINE void cleanupData()
|
|
TORQUE_FORCEINLINE void cleanupData()
|
|
{
|
|
{
|
|
- if (hasAllocatedData())
|
|
|
|
|
|
+ switch (type)
|
|
{
|
|
{
|
|
- dFree(data);
|
|
|
|
- data = NULL;
|
|
|
|
|
|
+ case ConsoleValueType::cvConsoleValueType:
|
|
|
|
+ if (ct)
|
|
|
|
+ {
|
|
|
|
+ delete ct;
|
|
|
|
+ ct = nullptr;
|
|
|
|
+ }
|
|
|
|
+ break;
|
|
|
|
+ case ConsoleValueType::cvString:
|
|
|
|
+ if (s && s != StringTable->EmptyString())
|
|
|
|
+ dFree(s);
|
|
|
|
+ break;
|
|
|
|
+ default:
|
|
|
|
+ break;
|
|
}
|
|
}
|
|
- else if (type == ConsoleValueType::cvString)
|
|
|
|
|
|
+
|
|
|
|
+ if (data != NULL)
|
|
{
|
|
{
|
|
- if (s != StringTable->EmptyString())
|
|
|
|
- dFree(s);
|
|
|
|
|
|
+ dFree(data);
|
|
|
|
+ data = NULL;
|
|
}
|
|
}
|
|
|
|
+
|
|
type = ConsoleValueType::cvNULL;
|
|
type = ConsoleValueType::cvNULL;
|
|
}
|
|
}
|
|
|
|
|