diff --git a/js/dbusServices/extensions/extensionPrefsDialog.js b/js/dbusServices/extensions/extensionPrefsDialog.js index 9e3ea57ee..6e6b4c8ce 100644 --- a/js/dbusServices/extensions/extensionPrefsDialog.js +++ b/js/dbusServices/extensions/extensionPrefsDialog.js @@ -38,7 +38,7 @@ export const ExtensionPrefsDialog = GObject.registerClass({ const prefsObj = new prefsModule.default({...metadata, dir, path}); this._extension.stateObj = prefsObj; - prefsObj.fillPreferencesWindow(this); + await prefsObj.fillPreferencesWindow(this); if (!this.visible_page) throw new Error('Extension did not provide any UI'); diff --git a/js/extensions/prefs.js b/js/extensions/prefs.js index f36b97138..76ae3ca62 100644 --- a/js/extensions/prefs.js +++ b/js/extensions/prefs.js @@ -18,7 +18,7 @@ export class ExtensionPreferences extends ExtensionBase { * Get the single widget that implements * the extension's preferences. * - * @returns {Gtk.Widget} + * @returns {Gtk.Widget|Promise} */ getPreferencesWidget() { throw new GObject.NotImplementedError(); @@ -31,9 +31,10 @@ export class ExtensionPreferences extends ExtensionBase { * returned by getPreferencesWidget(). * * @param {Adw.PreferencesWindow} window - the preferences window + * @returns {Promise} */ - fillPreferencesWindow(window) { - const widget = this.getPreferencesWidget(); + async fillPreferencesWindow(window) { + const widget = await this.getPreferencesWidget(); const page = this._wrapWidget(widget); window.add(page); }