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:
@@ -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);
|
||||
},
|
||||
);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user