From 6d0fbde5ad57a5c75e53b9c033aa5421746fb103 Mon Sep 17 00:00:00 2001 From: Gregor Biswanger Date: Fri, 22 May 2020 00:18:59 +0200 Subject: [PATCH] set contectmenu on correct lifetime.. --- .../Controllers/MenusController.cs | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/ElectronNET.WebApp/Controllers/MenusController.cs b/ElectronNET.WebApp/Controllers/MenusController.cs index 09f0b89..b961554 100644 --- a/ElectronNET.WebApp/Controllers/MenusController.cs +++ b/ElectronNET.WebApp/Controllers/MenusController.cs @@ -2,11 +2,23 @@ using Microsoft.AspNetCore.Mvc; using ElectronNET.API.Entities; using ElectronNET.API; +using Microsoft.Extensions.Hosting; namespace ElectronNET.WebApp.Controllers { public class MenusController : Controller { + public MenusController(IHostApplicationLifetime hostApplicationLifetime) + { + hostApplicationLifetime.ApplicationStarted.Register(() => + { + if (HybridSupport.IsElectronActive) + { + CreateContextMenu(); + } + }); + } + public IActionResult Index() { if (HybridSupport.IsElectronActive) @@ -93,7 +105,6 @@ namespace ElectronNET.WebApp.Controllers Electron.Menu.SetApplicationMenu(menu); - CreateContextMenu(); } return View(); @@ -113,12 +124,11 @@ namespace ElectronNET.WebApp.Controllers }; var mainWindow = Electron.WindowManager.BrowserWindows.FirstOrDefault(); - if (mainWindow == null) return; - Electron.Menu.SetContextMenu(mainWindow, menu); Electron.IpcMain.On("show-context-menu", (args) => { + var mainWindow = Electron.WindowManager.BrowserWindows.FirstOrDefault(); Electron.Menu.ContextMenuPopup(mainWindow); }); }