misc/objectManager: Fix emission of object-removed signal
Emitting this signal is broken right now: We check for a length of 0 on this._objects[objectPath], but the `this._objects[objectPath][interfaceName] = null` we do before the check doesn't actually remove the key, it only sets the value to null, leaving the key around and thus the amount of entries in the object doesn't change. Fix that by using the delete statement instead, "delete" properly removes the key and thus affects the amount of entries in the object, making our length === 0 check effective. Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2730>
This commit is contained in:
parent
3f956fbdb6
commit
8431e7ae51
@ -130,7 +130,7 @@ var ObjectManager = class extends Signals.EventEmitter {
|
|||||||
|
|
||||||
this.emit('interface-removed', interfaceName, proxy);
|
this.emit('interface-removed', interfaceName, proxy);
|
||||||
|
|
||||||
this._objects[objectPath][interfaceName] = null;
|
delete this._objects[objectPath][interfaceName];
|
||||||
|
|
||||||
if (Object.keys(this._objects[objectPath]).length === 0) {
|
if (Object.keys(this._objects[objectPath]).length === 0) {
|
||||||
delete this._objects[objectPath];
|
delete this._objects[objectPath];
|
||||||
|
Loading…
Reference in New Issue
Block a user