simplify; this isn't recursive anymore and this was inconsistent
This commit is contained in:
@@ -24,6 +24,7 @@
|
|||||||
#include "EnumHelper.h"
|
#include "EnumHelper.h"
|
||||||
#include "PrefsManager.h"
|
#include "PrefsManager.h"
|
||||||
#include "XmlFileUtil.h"
|
#include "XmlFileUtil.h"
|
||||||
|
#include <deque>
|
||||||
|
|
||||||
ThemeManager* THEME = NULL; // global object accessable from anywhere in the program
|
ThemeManager* THEME = NULL; // global object accessable from anywhere in the program
|
||||||
|
|
||||||
@@ -259,7 +260,7 @@ bool ThemeManager::DoesLanguageExist( const RString &sLanguage )
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
void ThemeManager::LoadThemeMetrics( deque<Theme> &theme, const RString &sThemeName_, const RString &sLanguage_ )
|
void ThemeManager::LoadThemeMetrics( const RString &sThemeName_, const RString &sLanguage_ )
|
||||||
{
|
{
|
||||||
if( g_pLoadedThemeData == NULL )
|
if( g_pLoadedThemeData == NULL )
|
||||||
g_pLoadedThemeData = new LoadedThemeData;
|
g_pLoadedThemeData = new LoadedThemeData;
|
||||||
@@ -278,7 +279,7 @@ void ThemeManager::LoadThemeMetrics( deque<Theme> &theme, const RString &sThemeN
|
|||||||
bool bLoadedBase = false;
|
bool bLoadedBase = false;
|
||||||
while(1)
|
while(1)
|
||||||
{
|
{
|
||||||
ASSERT_M( theme.size() < 20, "Circular theme fallback references detected." );
|
ASSERT_M( g_vThemes.size() < 20, "Circular theme fallback references detected." );
|
||||||
|
|
||||||
g_vThemes.push_back( Theme() );
|
g_vThemes.push_back( Theme() );
|
||||||
Theme &t = g_vThemes.back();
|
Theme &t = g_vThemes.back();
|
||||||
@@ -373,7 +374,7 @@ void ThemeManager::SwitchThemeAndLanguage( const RString &sThemeName_, const RSt
|
|||||||
// Load theme metrics. If only the language is changing, this is all
|
// Load theme metrics. If only the language is changing, this is all
|
||||||
// we need to reload.
|
// we need to reload.
|
||||||
bool bThemeChanging = (sThemeName != m_sCurThemeName);
|
bool bThemeChanging = (sThemeName != m_sCurThemeName);
|
||||||
LoadThemeMetrics( g_vThemes, sThemeName, sLanguage );
|
LoadThemeMetrics( sThemeName, sLanguage );
|
||||||
|
|
||||||
// Clear the theme path cache. This caches language-specific graphic paths, so do this
|
// Clear the theme path cache. This caches language-specific graphic paths, so do this
|
||||||
// even if only the language is changing.
|
// even if only the language is changing.
|
||||||
@@ -788,7 +789,7 @@ void ThemeManager::ReloadMetrics()
|
|||||||
FILEMAN->FlushDirCache( GetCurThemeDir() );
|
FILEMAN->FlushDirCache( GetCurThemeDir() );
|
||||||
|
|
||||||
// force a reload of the metrics cache
|
// force a reload of the metrics cache
|
||||||
LoadThemeMetrics( g_vThemes, m_sCurThemeName, m_sCurLanguage );
|
LoadThemeMetrics( m_sCurThemeName, m_sCurLanguage );
|
||||||
|
|
||||||
#if !defined(SMPACKAGE)
|
#if !defined(SMPACKAGE)
|
||||||
if( SCREENMAN )
|
if( SCREENMAN )
|
||||||
@@ -1069,7 +1070,7 @@ RString ThemeManager::GetString( const RString &sClassName, const RString &sValu
|
|||||||
ini.SetValue( sClassName, sValueName, s );
|
ini.SetValue( sClassName, sValueName, s );
|
||||||
ini.WriteFile( sFile );
|
ini.WriteFile( sFile );
|
||||||
|
|
||||||
LoadThemeMetrics( g_vThemes, m_sCurThemeName, m_sCurLanguage );
|
LoadThemeMetrics( m_sCurThemeName, m_sCurLanguage );
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|||||||
@@ -5,7 +5,6 @@
|
|||||||
|
|
||||||
#include "RageTypes.h"
|
#include "RageTypes.h"
|
||||||
#include <set>
|
#include <set>
|
||||||
#include <deque>
|
|
||||||
#include "LuaReference.h"
|
#include "LuaReference.h"
|
||||||
|
|
||||||
class IThemeMetric;
|
class IThemeMetric;
|
||||||
@@ -104,7 +103,7 @@ public:
|
|||||||
|
|
||||||
protected:
|
protected:
|
||||||
void RunLuaScripts( const RString &sMask );
|
void RunLuaScripts( const RString &sMask );
|
||||||
void LoadThemeMetrics( deque<Theme> &theme, const RString &sThemeName, const RString &sLanguage_ );
|
void LoadThemeMetrics( const RString &sThemeName, const RString &sLanguage_ );
|
||||||
RString GetMetricRaw( const IniFile &ini, const RString &sClassName, const RString &sValueName );
|
RString GetMetricRaw( const IniFile &ini, const RString &sClassName, const RString &sValueName );
|
||||||
bool GetMetricRawRecursive( const IniFile &ini, const RString &sClassName, const RString &sValueName, RString &sRet );
|
bool GetMetricRawRecursive( const IniFile &ini, const RString &sClassName, const RString &sValueName, RString &sRet );
|
||||||
RString GetPathToAndFallback( ElementCategory category, const RString &sClassName, const RString &sFile );
|
RString GetPathToAndFallback( ElementCategory category, const RString &sClassName, const RString &sFile );
|
||||||
|
|||||||
Reference in New Issue
Block a user