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
This commit is contained in:
parent
751a94ab5d
commit
f526e592fe
@ -173,6 +173,11 @@ var MprisPlayer = class MprisPlayer {
|
|||||||
if (!this._mprisProxy.g_name_owner)
|
if (!this._mprisProxy.g_name_owner)
|
||||||
this._close();
|
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() {
|
_onPlayerProxyReady() {
|
||||||
|
Loading…
Reference in New Issue
Block a user