diff --git a/qubes/vm/__init__.py b/qubes/vm/__init__.py index e5499b57..c88a97c3 100644 --- a/qubes/vm/__init__.py +++ b/qubes/vm/__init__.py @@ -102,11 +102,13 @@ class Features(dict): value = '1' if value else '' else: value = str(value) + # TODO: perhaps this shouldn't be fired on unchanged value? or at + # least oldvalue should be provided? self.vm.fire_event('domain-feature-set', key=key, value=value) super(Features, self).__setitem__(key, value) def clear(self): - for key in self: + for key in tuple(self): del self[key] def pop(self, _key, _default=None): diff --git a/qubes/vm/qubesvm.py b/qubes/vm/qubesvm.py index 8ef93d8c..b81690f3 100644 --- a/qubes/vm/qubesvm.py +++ b/qubes/vm/qubesvm.py @@ -301,7 +301,7 @@ class QubesVM(qubes.vm.mix.net.NetVMMixin, qubes.vm.BaseVM): A feature was removed. :param subject: Event emitter (the qube object) - :param event: Event name (``'domain-feature-set'``) + :param event: Event name (``'domain-feature-delete'``) :param key: feature name .. event:: domain-tag-add (subject, event, tag)