Memory Leak Fixes: Difference between revisions
Jump to navigation
Jump to search
| Line 11: | Line 11: | ||
=src\lib\vgui_controls.lib= | =src\lib\vgui_controls.lib= | ||
<font style="line-height: 2em;font-size:2em;">See [[Compiling vgui_controls.lib]]</font> | <font style="line-height: 2em;font-size:2em;">See [[Compiling vgui_controls.lib]]</font> | ||
==AnimationController== | |||
src\vgui2\controls\AnimationController.cpp | |||
1292a1293,1311 | |||
> int v2, v1 = m_AnimationMaps.Count(); | |||
> PanelAnimationMapEntry *pCur; | |||
> PanelAnimationMap *pMap; | |||
> for(int x=0;x<v1;x++) | |||
> { | |||
> pMap = m_AnimationMaps[x].map; | |||
> if(pMap) | |||
> { | |||
> v2 = pMap->entries.Count(); | |||
> pCur = &(pMap->entries[x]); | |||
> for(int y=0;y<v2;y++) | |||
> { | |||
> delete [] pCur->m_pszScriptName; | |||
> delete [] pCur->m_pszVariable; | |||
> delete [] pCur->m_pszType; | |||
> delete [] pCur->m_pszDefaultValue; | |||
> } | |||
> } | |||
> } | |||
==CBitmapImagePanel== | ==CBitmapImagePanel== | ||
src\vgui2\controls\BitmapImagePanel.h | src\vgui2\controls\BitmapImagePanel.h | ||
Revision as of 17:48, 13 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
See Compiling vgui_controls.lib
AnimationController
src\vgui2\controls\AnimationController.cpp
1292a1293,1311
> int v2, v1 = m_AnimationMaps.Count();
> PanelAnimationMapEntry *pCur;
> PanelAnimationMap *pMap;
> for(int x=0;x<v1;x++)
> {
> pMap = m_AnimationMaps[x].map;
> if(pMap)
> {
> v2 = pMap->entries.Count();
> pCur = &(pMap->entries[x]);
> for(int y=0;y<v2;y++)
> {
> delete [] pCur->m_pszScriptName;
> delete [] pCur->m_pszVariable;
> delete [] pCur->m_pszType;
> delete [] pCur->m_pszDefaultValue;
> }
> }
> }
CBitmapImagePanel
src\vgui2\controls\BitmapImagePanel.h 21a22 > ~CBitmapImagePanel();
src\vgui2\controls\BitmapImagePanel.cpp
61a62,67
>CBitmapImagePanel::~CBitmapImagePanel()
>{
> delete [] m_pszImageName;
> delete [] m_pszColorName;
>}
>
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
m_pDirTree->AddItem(kv, parentNodeIndex);
> kv->deleteThis();
}
410a414
int itemID = m_pDirTree->AddItem(kv, selectedIndex);
> kv->deleteThis();
FileOpenDialog class
src\vgui2\controls\FileOpenDialog.cpp 506a507 int itemID = m_pFileTypeCombo->AddItem(filterName, kv); > kv->deleteThis(); if ( bActive )
ScrollBar class
src\vgui2\controls\ScrollBar.cpp 323c323 < _button[index]->SetParent((Panel *)NULL); --- > _button[index]->DeletePanel(); 351c351 < _slider->SetParent((Panel *)NULL); --- > _slider->DeletePanel();
SectionedListPanel
src\vgui2\controls\ScrollBar.cpp 1579a1580 > delete m_hEditModePanel;