Log undefined menu models and action groups. Fix null errors for workspaces and update array property accessors for services. (#583)

* Handle null values for actionGroup.

* Add logs

* more logs

* Fix property accessors and workspace null errors.
This commit is contained in:
Jas Singh
2024-12-21 14:53:26 -08:00
committed by GitHub
parent 006e9543f0
commit da0299f06b
6 changed files with 29 additions and 19 deletions

View File

@@ -10,7 +10,7 @@ const systemtray = AstalTray.get_default();
const { ignore, customIcons } = options.bar.systray;
//TODO: Connect to `notify::menu-model` and `notify::action-group` to have up to date menu and action group
const createMenu = (menuModel: Gio.MenuModel, actionGroup: Gio.ActionGroup): Gtk.Menu => {
const createMenu = (menuModel: Gio.MenuModel, actionGroup: Gio.ActionGroup | null): Gtk.Menu => {
const menu = Gtk.Menu.new_from_model(menuModel);
menu.insert_action_group('dbusmenu', actionGroup);
@@ -38,9 +38,14 @@ const MenuEntry = ({ item, child }: MenuEntryProps): JSX.Element => {
const entryBinding = Variable.derive(
[bind(item, 'menuModel'), bind(item, 'actionGroup')],
(menuModel, actionGroup) => {
if (menuModel && actionGroup) {
menu = createMenu(menuModel, actionGroup);
if (!menuModel) {
return console.error(`Menu Model not found for ${item.id}`);
}
if (!actionGroup) {
return console.error(`Action Group not found for ${item.id}`);
}
menu = createMenu(menuModel, actionGroup);
},
);