File 0001-automute-alsa-routes.lua-Dont-register_remove-hooks-if.patch of Package wireplumber
From 6cfaf3f70d686db6fc84a19c275328f0b5218925 Mon Sep 17 00:00:00 2001
From: Julian Bouzas <julian.bouzas@collabora.com>
Date: Mon, 13 Oct 2025 08:15:55 -0400
Subject: [PATCH] automute-alsa-routes.lua: Don't register/remove hooks if
never registered/removed before
This avoids avent dispatcher errors in the log.
---
src/scripts/device/automute-alsa-routes.lua | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/src/scripts/device/automute-alsa-routes.lua b/src/scripts/device/automute-alsa-routes.lua
index 105f2e68..6297f507 100644
--- a/src/scripts/device/automute-alsa-routes.lua
+++ b/src/scripts/device/automute-alsa-routes.lua
@@ -7,6 +7,7 @@
cutils = require ("common-utils")
log = Log.open_topic ("s-automute-alsa-routes")
+hooks_registered = false
function setRoute (device, route, mute)
local param = Pod.Object {
@@ -194,17 +195,19 @@ evaluate_mute_on_node_removed_hook = SimpleEventHook {
function toggleState ()
local mute_alsa = Settings.get_boolean ("device.routes.mute-on-alsa-playback-removed")
local mute_bluez = Settings.get_boolean ("device.routes.mute-on-bluetooth-playback-removed")
- if mute_alsa or mute_bluez then
+ if (mute_alsa or mute_bluez) and not hooks_registered then
nodes_info = {}
mute_alsa_devices_hook:register ()
update_nodes_info_hook:register ()
evaluate_mute_on_device_route_changed_hook:register ()
evaluate_mute_on_node_removed_hook:register ()
- else
+ hooks_registered = true
+ elseif not mute_alsa and not mute_bluez and hooks_registered then
mute_alsa_devices_hook:remove ()
update_nodes_info_hook:remove ()
evaluate_mute_on_device_route_changed_hook:remove ()
evaluate_mute_on_node_removed_hook:remove ()
+ hooks_registered = false
end
end
--
GitLab