objectManager: clear inhibitor on unregistered interfaces

A D-Bus service can export more supported interfaces than the
shell cares about.  In those cases, we avoid creating proxies,
but neglect to finish things up so the object manager class
knows it can mark itself loaded.

This commit makes sure we do the proper finishing, so the object
manager still loads in the face of unsupported interfaces.

https://bugzilla.gnome.org/show_bug.cgi?id=706542
This commit is contained in:
Ray Strode 2013-08-21 18:00:40 -04:00
parent 1730aff2b9
commit d29b86baf0

View File

@ -73,8 +73,11 @@ const ObjectManager = new Lang.Class({
_addInterface: function(objectPath, interfaceName, onFinished) {
let info = this._interfaceInfos[interfaceName];
if (!info)
if (!info) {
if (onFinished)
onFinished();
return;
}
let proxy = new Gio.DBusProxy({ g_connection: this._connection,
g_name: this._serviceName,