From 6ff08fd9bd86a6b38f210759181203279321c43b Mon Sep 17 00:00:00 2001 From: Charles Wong Date: Sat, 28 Oct 2023 15:34:36 +0800 Subject: [PATCH] main: Instantiate EndSessionDialog Using an exported `init()` function to create the object is an odd pattern, and not having the object referenced anywhere makes it harder to access for debugging or extensions. Just export the `EndSessionDialog` class and instantiate it like we do for other objects. Part-of: --- js/ui/endSessionDialog.js | 9 +-------- js/ui/main.js | 3 ++- 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/js/ui/endSessionDialog.js b/js/ui/endSessionDialog.js index a704cb3e7..56a5aec05 100644 --- a/js/ui/endSessionDialog.js +++ b/js/ui/endSessionDialog.js @@ -223,14 +223,7 @@ function _setCheckBoxLabel(checkBox, text) { } } -export function init() { - // This always returns the same singleton object - // By instantiating it initially, we register the - // bus object, etc. - new EndSessionDialog(); -} - -const EndSessionDialog = GObject.registerClass( +export const EndSessionDialog = GObject.registerClass( class EndSessionDialog extends ModalDialog.ModalDialog { _init() { super._init({ diff --git a/js/ui/main.js b/js/ui/main.js index 9e14bc141..ad6d3d611 100644 --- a/js/ui/main.js +++ b/js/ui/main.js @@ -90,6 +90,7 @@ export let kbdA11yDialog = null; export let inputMethod = null; export let introspectService = null; export let locatePointer = null; +export let endSessionDialog = null; let _startDate; let _defaultCssStylesheet = null; @@ -275,7 +276,7 @@ async function _initializeUI() { // Provide the bus object for gnome-session to // initiate logouts. - EndSessionDialog.init(); + endSessionDialog = new EndSessionDialog.EndSessionDialog(); // We're ready for the session manager to move to the next phase GLib.idle_add(GLib.PRIORITY_DEFAULT, () => {