Memory Leak Fixes: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
mNo edit summary
Line 1: Line 1:
On this page goes fixes for memory leaks in the SDK.
On this page goes fixes for memory leaks in the SDK.
==CPanelMetaClassMgrImp==
=bin\client.dll=
==CPanelMetaClassMgrImp class==
  src\cl_dll\panelmetaclassmgr.cpp
  src\cl_dll\panelmetaclassmgr.cpp
  236a237,241
  236a237,241
Line 8: Line 9:
  > }
  > }
  > m_MetaClassKeyValues.RemoveAll();
  > m_MetaClassKeyValues.RemoveAll();
==DirectorySelectDialog==
=src\lib\vgui_controls.lib=
==DirectorySelectDialog class==
  src\vgui2\controls\DirectorySelectDialog.cpp
  src\vgui2\controls\DirectorySelectDialog.cpp
  258c258,260
  258c258,260
Line 21: Line 23:
  > kv->deleteThis();
  > kv->deleteThis();


==FileOpenDialog==
==FileOpenDialog class==
  src\vgui2\controls\FileOpenDialog.cpp
  src\vgui2\controls\FileOpenDialog.cpp
  506a507
  506a507
  > kv->deleteThis();
  > kv->deleteThis();
==ScrollBar class==
src\vgui2\controls\ScrollBar.cpp
323c323
<              _button[index]->SetParent((Panel *)NULL);
---
>              _button[index]->DeletePanel();
351c351
<              _slider->SetParent((Panel *)NULL);
---
>              _slider->DeletePanel();
[[Category:Debugging]] [[Category:Feedback]] [[Category:Programming]] [[Category:Source SDK FAQ]]
[[Category:Debugging]] [[Category:Feedback]] [[Category:Programming]] [[Category:Source SDK FAQ]]

Revision as of 21:21, 11 January 2006

On this page goes fixes for memory leaks in the SDK.

bin\client.dll

CPanelMetaClassMgrImp class

src\cl_dll\panelmetaclassmgr.cpp
236a237,241
>	while(m_MetaClassKeyValues.Count()>0)
>	{
>		m_MetaClassKeyValues[0]->deleteThis();
>	}
>	m_MetaClassKeyValues.RemoveAll();

src\lib\vgui_controls.lib

DirectorySelectDialog class

src\vgui2\controls\DirectorySelectDialog.cpp
258c258,260
<	int rootIndex = m_pDirTree->AddItem(new KeyValues("root", "Text", m_szCurrentDrive), -1);
---
>	KeyValues *kv = new KeyValues("root", "Text", m_szCurrentDrive);
>	int rootIndex = m_pDirTree->AddItem(kv, -1);
>	kv->deleteThis();
294a297
>				kv->deleteThis();
410a414
>			kv->deleteThis();

FileOpenDialog class

src\vgui2\controls\FileOpenDialog.cpp
506a507
>	kv->deleteThis();

ScrollBar class

src\vgui2\controls\ScrollBar.cpp
323c323
<               _button[index]->SetParent((Panel *)NULL);
---
>               _button[index]->DeletePanel();
351c351
<               _slider->SetParent((Panel *)NULL);
---
>               _slider->DeletePanel();