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:
parent
67ff77e5de
commit
2203e6aa52
1 changed files with 12 additions and 2 deletions
|
|
@ -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
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue