[gnome-shell] mpris: Prevent DBus race when creating media players



commit f526e592fe11900bc311ebedab28713740bca212
Author: Bryan Dunsmore <bryan dunsmore outlook com>
Date:   Wed May 13 00:38:01 2020 -0500

    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

 js/ui/mpris.js | 5 +++++
 1 file changed, 5 insertions(+)
---
diff --git a/js/ui/mpris.js b/js/ui/mpris.js
index 9eabe4431f..23fca91b18 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() {


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]