quick_frontend, primitivus: fixes a couple of issues:

- chat: notification was raising an error when you just entered the room and self.nick is None
    - quick_widget: deleting a widget was modifying a dict while looping on it + unselect widget when it's being deleted
This commit is contained in:
souliane 2015-04-16 17:17:28 +02:00
commit 2203e6aa52

View file

@ -232,9 +232,12 @@ class QuickWidgetsManager(object):
widget_to_delete.onDelete()
for widget_map in self._widgets.itervalues():
to_delete = set()
for hash_, widget in widget_map.iteritems():
if widget_to_delete is widget:
del widget_map[hash_]
to_delete.add(hash_)
for hash_ in to_delete:
del widget_map[hash_]
class QuickWidget(object):
@ -308,3 +311,6 @@ class QuickWidget(object):
def onDelete(self):
"""Called when a widget is deleted"""
log.debug(u"deleting widget {}".format(self)) # Must be implemented by frontends
if self.host.selected_widget == self:
self.host.selected_widget = None