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:
Glenn Maynard
2009-11-14 00:57:27 +00:00
parent 2526bf141c
commit 143b96d5fa
+1 -2
View File
@@ -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);