From 9ae287f10c1190876b11e47ea53f798fe6b75d10 Mon Sep 17 00:00:00 2001 From: trigg Date: Sun, 29 Mar 2026 14:00:40 +0100 Subject: [PATCH] locker: remove _sync from mpris --- src/locker/plugin/mpris.cpp | 55 +++++++++++++++++++------------------ 1 file changed, 29 insertions(+), 26 deletions(-) diff --git a/src/locker/plugin/mpris.cpp b/src/locker/plugin/mpris.cpp index 019c53e0..d50152e8 100644 --- a/src/locker/plugin/mpris.cpp +++ b/src/locker/plugin/mpris.cpp @@ -269,41 +269,44 @@ void WayfireLockerMPRISPlugin::init() { // Got a dbus proxy manager_proxy = Gio::DBus::Proxy::create_finish(result); - auto val = manager_proxy->call_sync("ListNames"); - Glib::Variant> list; - val.get_child(list, 0); - auto l2 = list.get(); - for (auto t : l2) + manager_proxy->call("ListNames", [=] (Glib::RefPtr & result) { - if (t.substr(0, 23) == "org.mpris.MediaPlayer2.") + auto val = manager_proxy->call_finish(result); + Glib::Variant> list; + val.get_child(list, 0); + auto l2 = list.get(); + for (auto t : l2) { - add_client(t); + if (t.substr(0, 23) == "org.mpris.MediaPlayer2.") + { + add_client(t); + } } - } - /* https://dbus.freedesktop.org/doc/dbus-java/api/org/freedesktop/DBus.NameOwnerChanged.html */ - signal = manager_proxy->signal_signal().connect( - [this] (const Glib::ustring & sender_name, - const Glib::ustring & signal_name, - const Glib::VariantContainerBase & params) - { - if (signal_name == "NameOwnerChanged") + /* https://dbus.freedesktop.org/doc/dbus-java/api/org/freedesktop/DBus.NameOwnerChanged.html */ + signal = manager_proxy->signal_signal().connect( + [this] (const Glib::ustring & sender_name, + const Glib::ustring & signal_name, + const Glib::VariantContainerBase & params) { - Glib::Variant to, from, name; - params.get_child(name, 0); - params.get_child(to, 1); - params.get_child(from, 2); - if (name.get().substr(0, 23) == "org.mpris.MediaPlayer2.") + if (signal_name == "NameOwnerChanged") { - if (to.get() == "") - { - add_client(name.get()); - } else if (from.get() == "") + Glib::Variant to, from, name; + params.get_child(name, 0); + params.get_child(to, 1); + params.get_child(from, 2); + if (name.get().substr(0, 23) == "org.mpris.MediaPlayer2.") { - rem_client(name.get()); + if (to.get() == "") + { + add_client(name.get()); + } else if (from.get() == "") + { + rem_client(name.get()); + } } } - } + }); }); }); }