From ed402933d30e1ec96b3789281513b057b714ecab Mon Sep 17 00:00:00 2001 From: JellyBrick Date: Thu, 30 Nov 2023 09:38:51 +0900 Subject: [PATCH] fix(in-app-menu): fix #1436 --- src/loader/menu.ts | 9 ++++++++- src/plugins/in-app-menu/menu.ts | 6 ++---- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/loader/menu.ts b/src/loader/menu.ts index c037d237..f44d886e 100644 --- a/src/loader/menu.ts +++ b/src/loader/menu.ts @@ -36,7 +36,14 @@ export const forceLoadMenuPlugin = async (id: string, win: BrowserWindow) => { if (!plugin) return; const menu = plugin.menu?.(createContext(id, win)); - if (menu) menuTemplateMap[id] = await menu; + if (menu) { + const result = await menu; + if (result.length > 0) { + menuTemplateMap[id] = result; + } else { + return; + } + } else return; console.log(LoggerPrefix, `Successfully loaded '${id}::menu'`); diff --git a/src/plugins/in-app-menu/menu.ts b/src/plugins/in-app-menu/menu.ts index 1f5e7f76..3aa871a6 100644 --- a/src/plugins/in-app-menu/menu.ts +++ b/src/plugins/in-app-menu/menu.ts @@ -1,12 +1,10 @@ import is from 'electron-is'; -import { setMenuOptions } from '@/config/plugins'; - import type { InAppMenuConfig } from './index'; import type { MenuContext } from '@/types/contexts'; import type { MenuTemplate } from '@/menu'; -export const onMenu = async ({ getConfig }: MenuContext): Promise => { +export const onMenu = async ({ getConfig, setConfig }: MenuContext): Promise => { const config = await getConfig(); if (is.linux()) { @@ -17,7 +15,7 @@ export const onMenu = async ({ getConfig }: MenuContext): Promi checked: config.hideDOMWindowControls, click(item) { config.hideDOMWindowControls = item.checked; - setMenuOptions('in-app-menu', config); + setConfig(config); } } ];