Fix ThemeMetric<EnumType> gives the first value of the enum when the theme
metric is nil, instead of EnumType_INVALID. This happened because ThemeMetric was setting the value to its default, eg. EnumType(), when LuaHelpers::FromStack returned false. This behavior doesn't make sense in the general case, since EnumType() results in an arbitrary value (the first one) rather than Invalid. Every FromStack function sets a reasonable default on invalid data, anyway, and only RageColor and enums can return false in any case. This fixes CustomDifficulty when CourseType = nil.
This commit is contained in:
@@ -84,8 +84,7 @@ public:
|
||||
Lua *L = LUA->Get();
|
||||
THEME->GetMetric( m_sGroup, m_sName, m_Value );
|
||||
m_Value.PushSelf(L);
|
||||
if( !LuaHelpers::FromStack(L, m_currentValue, -1) )
|
||||
m_currentValue = T();
|
||||
LuaHelpers::FromStack(L, m_currentValue, -1);
|
||||
lua_pop( L, 1 );
|
||||
LUA->Release(L);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user