From 504d4b7ea4ddb3114073f351cacbef4731cf58e7 Mon Sep 17 00:00:00 2001 From: Bryan Dunsmore Date: Wed, 13 May 2020 05:38:01 +0000 Subject: [PATCH] mpris: Prevent DBus race when creating media players Sometimes an MPRIS media player will create and then destroy an object before the signals that handle the object's destruction can be created. This verifies that the object still exists after the necessary signals have been created. https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2776 (cherry picked from commit f526e592fe11900bc311ebedab28713740bca212) --- js/ui/mpris.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/js/ui/mpris.js b/js/ui/mpris.js index 9eabe4431..23fca91b1 100644 --- a/js/ui/mpris.js +++ b/js/ui/mpris.js @@ -173,6 +173,11 @@ var MprisPlayer = class MprisPlayer { if (!this._mprisProxy.g_name_owner) this._close(); }); + // It is possible for the bus to disappear before the previous signal + // is connected, so we must ensure that the bus still exists at this + // point. + if (!this._mprisProxy.g_name_owner) + this._close(); } _onPlayerProxyReady() {