[core/theme] State == "" causes backtraces

Empty states ("" rather than None) caused a backtrace in the theme
engine. Fix that by being a bit more robust, and add a test that checks
for regressions.

fixes #406
This commit is contained in:
Tobias Witek 2019-07-02 20:19:26 +02:00
parent 7ab15f33f0
commit 682d2f47dd
2 changed files with 10 additions and 1 deletions

View file

@ -241,7 +241,8 @@ class Theme(object):
states = widget.state()
if name not in states:
for state in states:
state_themes.append(self._get(widget, state, {}))
if state:
state_themes.append(self._get(widget, state, {}))
value = self._defaults.get(name, default)
value = widget.get("theme.{}".format(name), value)