fix Character::UndemandGraphics unloading graphics too early if used

by multiple screens at once
This commit is contained in:
Glenn Maynard
2005-09-04 18:25:09 +00:00
parent e60e016ce8
commit 3bd3fabc44
2 changed files with 16 additions and 5 deletions
+14 -4
View File
@@ -4,6 +4,10 @@
#include "RageUtil.h"
#include "RageTextureID.h"
Character::Character()
{
m_iPreloadRefcount = 0;
}
bool Character::Load( CString sCharDir )
{
@@ -172,14 +176,20 @@ bool Character::Has2DElems()
void Character::DemandGraphics()
{
CString s = GetIconPath();
if( !s.empty() )
m_Preload.Load( s );
++m_iPreloadRefcount;
if( m_iPreloadRefcount == 1 )
{
CString s = GetIconPath();
if( !s.empty() )
m_Preload.Load( s );
}
}
void Character::UndemandGraphics()
{
m_Preload.UnloadAll();
--m_iPreloadRefcount;
if( m_iPreloadRefcount == 0 )
m_Preload.UnloadAll();
}
// lua start