1.1 --- a/core/logic/HandleSys.cpp Thu Nov 21 19:26:10 2013 -0500
1.2 +++ b/core/logic/HandleSys.cpp Sat Nov 30 10:51:28 2013 -0500
1.3 @@ -204,10 +204,8 @@
1.4 pType->dispatch = dispatch;
1.5 if (name && name[0] != '\0')
1.6 {
1.7 - pType->name = name;
1.8 + pType->name = new ke::AString(name);
1.9 m_TypeLookup.insert(name, pType);
1.10 - } else {
1.11 - pType->name.setVoid();
1.12 }
1.13
1.14 pType->opened = 0;
1.15 @@ -924,8 +922,8 @@
1.16 pType->dispatch = NULL;
1.17
1.18 /* Remove it from the type cache. */
1.19 - if (!pType->name.isVoid())
1.20 - m_TypeLookup.remove(pType->name.chars());
1.21 + if (pType->name)
1.22 + m_TypeLookup.remove(pType->name->chars());
1.23
1.24 return true;
1.25 }
1.26 @@ -1050,8 +1048,8 @@
1.27 continue; /* We may have gaps, it's fine. */
1.28 }
1.29
1.30 - if (!m_Types[i].name.isVoid())
1.31 - pTypeName = m_Types[i].name.chars();
1.32 + if (m_Types[i].name)
1.33 + pTypeName = m_Types[i].name->chars();
1.34 else
1.35 pTypeName = "ANON";
1.36
1.37 @@ -1118,8 +1116,8 @@
1.38 unsigned int size = 0;
1.39 unsigned int parentIdx;
1.40 bool bresult;
1.41 - if (!pType->name.isVoid())
1.42 - type = pType->name.chars();
1.43 + if (pType->name)
1.44 + type = pType->name->chars();
1.45
1.46 if ((parentIdx = m_Handles[i].clone) != 0)
1.47 {