Memory Leak Fixes: Difference between revisions
		
		
		
		
		
		Jump to navigation
		Jump to search
		
				
		» See Compiling vgui_controls.lib « 
		
	
| Line 11: | Line 11: | ||
| =src\lib\vgui_controls.lib= | =src\lib\vgui_controls.lib= | ||
| <center><font style="line-height: 2em;font-size:2em;">» See [[Compiling vgui_controls.lib]] «</font></center> | <center><font style="line-height: 2em;font-size:2em;">» See [[Compiling vgui_controls.lib]] «</font></center> | ||
| ==AnimationController== | ==AnimationController class== | ||
|   src\vgui2\controls\AnimationController.cpp |   src\vgui2\controls\AnimationController.cpp | ||
|   1292a1293,1311 |   1292a1293,1311 | ||
| Line 38: | Line 38: | ||
|   	} |   	} | ||
| ==CBitmapImagePanel== | ==CBitmapImagePanel class== | ||
|   src\vgui2\controls\BitmapImagePanel.h |   src\vgui2\controls\BitmapImagePanel.h | ||
|   21a22 |   21a22 | ||
| Line 86: | Line 86: | ||
|   --- |   --- | ||
|   >               _slider->DeletePanel(); |   >               _slider->DeletePanel(); | ||
| ==SectionedListPanel== | ==SectionedListPanel class== | ||
|   src\vgui2\controls\SectionedListPanel.cpp |   src\vgui2\controls\SectionedListPanel.cpp | ||
|   1579a1580 |   1579a1580 | ||
Revision as of 19:40, 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
AnimationController class
src\vgui2\controls\AnimationController.cpp
1292a1293,1311
	~CPanelAnimationDictionary()
	{
>		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;
>				}
>			}
>		}
		m_PanelAnimationMapPool.Clear();
	}
CBitmapImagePanel class
src\vgui2\controls\BitmapImagePanel.h 21a22 CBitmapImagePanel( vgui::Panel *parent, char const *panelName, char const *filename = NULL ); > ~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 class
src\vgui2\controls\SectionedListPanel.cpp 1579a1580 m_hEditModePanel->SetVisible(false); m_hEditModePanel->SetParent((Panel *)NULL); > delete m_hEditModePanel; m_hEditModePanel = NULL;