Oops. If we were loading a banner where it was already loaded, we'd
see that it was loaded, and then load it--over a sprite that already had it loaded, which caused it to get unloaded, lose refcount and get purged and reloaded from scratch. Just don't do that; always fade through the low-quality banner.
This commit is contained in:
@@ -91,15 +91,7 @@ void FadingBanner::LoadFromCachedBanner( const CString &path )
|
|||||||
/* No matter what we load, ensure we don't fade to a stale path. */
|
/* No matter what we load, ensure we don't fade to a stale path. */
|
||||||
m_sPendingBanner = "";
|
m_sPendingBanner = "";
|
||||||
|
|
||||||
if( TEXTUREMAN->IsTextureRegistered( Banner::BannerTex( path ) ) )
|
/* Try to load the low quality version. */
|
||||||
{
|
|
||||||
/* The actual file is already cached. Use it. */
|
|
||||||
BeforeChange();
|
|
||||||
m_Banner[GetBackIndex()].Load( Banner::BannerTex(path) );
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* It's not loaded. Try to load the low quality version. */
|
|
||||||
RageTextureID ID = BANNERCACHE->LoadCachedBanner( path );
|
RageTextureID ID = BANNERCACHE->LoadCachedBanner( path );
|
||||||
if( !TEXTUREMAN->IsTextureRegistered(ID) )
|
if( !TEXTUREMAN->IsTextureRegistered(ID) )
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user