From 01b465beae325c88fe6539303ddbdf1cc1cb80a7 Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode@redhat.com>
Date: Wed, 16 Aug 2023 18:46:54 -0400
Subject: [PATCH 1/3] status/keyboard: Add a catch around reload call

Now that system input settings can get used in the user session
they're getting seen by the tests and the tests are complaining:

Unhandled promise rejection. To suppress this warning, add an
error handler to your promise chain with .catch() or a try-catch block
around your await expression.

This commit adds the catch it's asking for.
---
 js/ui/status/keyboard.js | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/js/ui/status/keyboard.js b/js/ui/status/keyboard.js
index 8d98e16de..7277c6d09 100644
--- a/js/ui/status/keyboard.js
+++ b/js/ui/status/keyboard.js
@@ -171,61 +171,63 @@ class InputSourceSettings extends Signals.EventEmitter {
     get mruSources() {
         return [];
     }
 
     set mruSources(sourcesList) {
         // do nothing
     }
 
     get keyboardOptions() {
         return [];
     }
 
     get perWindow() {
         return false;
     }
 }
 
 class InputSourceSystemSettings extends InputSourceSettings {
     constructor() {
         super();
 
         this._BUS_NAME = 'org.freedesktop.locale1';
         this._BUS_PATH = '/org/freedesktop/locale1';
         this._BUS_IFACE = 'org.freedesktop.locale1';
         this._BUS_PROPS_IFACE = 'org.freedesktop.DBus.Properties';
 
         this._layouts = '';
         this._variants = '';
         this._options = '';
 
-        this._reload();
+        this._reload().catch(error => {
+            logError(error, 'Could not reload system input settings');
+        });
 
         Gio.DBus.system.signal_subscribe(this._BUS_NAME,
             this._BUS_PROPS_IFACE,
             'PropertiesChanged',
             this._BUS_PATH,
             null,
             Gio.DBusSignalFlags.NONE,
             this._reload.bind(this));
     }
 
     async _reload() {
         let props;
         try {
             const result = await Gio.DBus.system.call(
                 this._BUS_NAME,
                 this._BUS_PATH,
                 this._BUS_PROPS_IFACE,
                 'GetAll',
                 new GLib.Variant('(s)', [this._BUS_IFACE]),
                 null, Gio.DBusCallFlags.NONE, -1, null);
             [props] = result.deepUnpack();
         } catch (e) {
             log(`Could not get properties from ${this._BUS_NAME}`);
             return;
         }
 
         const layouts = props['X11Layout'].unpack();
         const variants = props['X11Variant'].unpack();
         const options = props['X11Options'].unpack();
 
-- 
2.41.0.rc2

