diff options
Diffstat (limited to 'src/FbTk')
-rw-r--r-- | src/FbTk/Resource.hh | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/FbTk/Resource.hh b/src/FbTk/Resource.hh index b729ad4..e3e8cc1 100644 --- a/src/FbTk/Resource.hh +++ b/src/FbTk/Resource.hh | |||
@@ -257,9 +257,13 @@ public: | |||
257 | 257 | ||
258 | virtual void setFromLua(lua::state &l) { | 258 | virtual void setFromLua(lua::state &l) { |
259 | try { | 259 | try { |
260 | m_value = Traits::fromLua(l); | 260 | if(l.isnil(-1)) |
261 | m_rm->resourceChanged(*this); | 261 | setDefaultValue(); |
262 | m_modified_sig.emit(m_value); | 262 | else { |
263 | m_value = Traits::fromLua(l); | ||
264 | m_rm->resourceChanged(*this); | ||
265 | m_modified_sig.emit(m_value); | ||
266 | } | ||
263 | } | 267 | } |
264 | catch(ConversionError &e) { | 268 | catch(ConversionError &e) { |
265 | std::cerr << name() << ": " << e.what() << std::endl; | 269 | std::cerr << name() << ": " << e.what() << std::endl; |