diff --git a/qubes/vm/qubesvm.py b/qubes/vm/qubesvm.py index f8afe1681..04334ab39 100644 --- a/qubes/vm/qubesvm.py +++ b/qubes/vm/qubesvm.py @@ -1204,9 +1204,7 @@ def on_domain_init_loaded(self, event): self._domain_stopped_event_handled = False @qubes.events.handler("domain-feature-set:boot-mode.active") - def on_feature_bootmode_active_set( - self, event, feature, value, oldvalue=None - ): + def on_feature_bootmode_set(self, event, feature, value, oldvalue=None): # pylint: disable=unused-argument if value == oldvalue: return diff --git a/qubes/vm/templatevm.py b/qubes/vm/templatevm.py index 3ff93637a..472683377 100644 --- a/qubes/vm/templatevm.py +++ b/qubes/vm/templatevm.py @@ -124,6 +124,29 @@ def on_feature_bootmode_appvm_set( if appvm.property_is_default("bootmode"): appvm.fire_event("property-reset:bootmode", name="bootmode") + @qubes.events.handler( + "property-set:appvm_default_bootmode", + ) + def on_property_bootmode_appvm_set( + self, event, name, newvalue, oldvalue=None + ): + # pylint: disable=unused-argument + if newvalue == oldvalue: + return + for appvm in getattr(self, "appvms", []): + if appvm.property_is_default("bootmode"): + appvm.fire_event("property-reset:bootmode", name="bootmode") + + # pylint: disable=invalid-name + @qubes.events.handler( + "property-reset:appvm_default_bootmode", + ) + def on_property_bootmode_appvm_reset(self, event, name, oldvalue=None): + # pylint: disable=unused-argument + for appvm in getattr(self, "appvms", []): + if appvm.property_is_default("bootmode"): + appvm.fire_event("property-reset:bootmode", name="bootmode") + @qubes.events.handler( "property-set:default_user", "property-set:kernel",