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



commit 504d4b7ea4ddb3114073f351cacbef4731cf58e7
Author: Bryan Dunsmore <bryan dunsmore outlook com>
Date:   Wed May 13 05:38:01 2020 +0000

    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 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]