- Keys of Maps from Delete() and Free()
- TabControl when using AddTab
- GuiConfigData strings
}
}
- void Remove(MapNode<MT, V> node)
+ void FreeKey(MapNode<MT, V> node)
{
- CustomAVLTree::Remove(node);
if(class(MT).type == structClass)
{
// TODO: Make this easier...
}
else
delete node.key;
+ }
+
+ void Remove(MapNode<MT, V> node)
+ {
+ CustomAVLTree::Remove(node);
+ FreeKey(node);
delete node;
}
MapNode<MT, V> parent = node.parent;
V value = GetData(node);
delete value;
+ FreeKey(node);
delete node;
node = parent;
{
V value = GetData(node);
delete value;
+ FreeKey(node);
Remove(node);
}
if(created)
{
tab.button.Create();
- incref tab;
+ // This was causing leaks with RemoveTab / AddTab usage in Cartographer...
+ // RemoveTab() does not dec'ref...
+ // incref tab;
}
numTabs++;
~GuiConfigData()
{
timer.Stop();
+
+ if(windows)
+ {
+ windows.Free();
+ delete windows;
+ }
+ if(paneSplitters)
+ {
+ paneSplitters.Free();
+ delete paneSplitters;
+ }
}
Timer timer