From b5a6bf18665fd2fcd75bf4c3dc9587e1ef6205f5 Mon Sep 17 00:00:00 2001 From: Anirudh Sevugan Date: Wed, 30 Jul 2025 20:09:21 -0500 Subject: [PATCH] App now handles whenever an addon doesn't exist --- simpliplay/main.js | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/simpliplay/main.js b/simpliplay/main.js index 19a964d..544cc85 100644 --- a/simpliplay/main.js +++ b/simpliplay/main.js @@ -6,7 +6,7 @@ const { pathToFileURL } = require("url"); const { checkForUpdate } = require('./updateChecker'); let gpuAccel = ""; let didRegisterShortcuts = false; -let version = "2.0.4.0" +let version = "2.0.4.1" if (process.platform === 'darwin') { if (process.argv.includes('--use-gl')) { @@ -245,8 +245,8 @@ if (existingAddonsMenuItem) { if (alreadyLoaded) { await dialog.showMessageBox(mainWindow, { type: 'error', - title: 'Add-on Load Error', - message: `An add-on named "${fileName}" is already loaded.`, + title: 'Could not load addon', + message: `An add-on named "${fileName}" has already been loaded before.`, buttons: ['OK'] }); return; @@ -261,7 +261,24 @@ if (existingAddonsMenuItem) { checked: true, click: (menuItem) => { if (menuItem.checked) { - mainWindow.webContents.send('load-addon', fileURL); + fs.access(filePath, (err) => { + if (!err) { + mainWindow.webContents.send('load-addon', fileURL); + } else { + dialog.showMessageBox(mainWindow, { + type: 'error', + title: 'Could not load addon', + message: `The add-on "${fileName}" could not be found or doesn't exist anymore.`, + buttons: ['OK'] + }).then(() => { + // Delay unchecking to ensure dialog closes first + setTimeout(() => { + menuItem.checked = false; + }, 100); + }); + } + }); + } else { mainWindow.webContents.send('unload-addon', fileURL); }