diff --git a/front/editor/editor.js b/front/editor/editor.js index 3abf488..897b08b 100644 --- a/front/editor/editor.js +++ b/front/editor/editor.js @@ -618,7 +618,8 @@ ipcRenderer.on("syncLinkedDisplay", (event, fileID, display) => { // Handle App Closing ////////////////////////////////////////////////////////////////// -window.addEventListener("beforeunload", (event) => { +window.addEventListener("beforeunload", async(event) => { + ipcRenderer.send("closeAllDisplays") isClosing = true; if (OpenedFiles.GETJSONDATA().length > 0) { event.preventDefault(); @@ -626,7 +627,7 @@ window.addEventListener("beforeunload", (event) => { await closeFile(e.fileLink); }); } else { - ipcRenderer.send("forceCloseWindow"); + await ipcRenderer.send("forceCloseWindow"); } }); diff --git a/main.js b/main.js index c59f556..a79e779 100644 --- a/main.js +++ b/main.js @@ -10,6 +10,7 @@ - Handle file picking - Handle directory picking - Handle window closures + - Close all displays - Handle Display Restart - Others @@ -88,7 +89,11 @@ function createNewDisplay(fileLink) { openedDisplays.DELETE( openedDisplays.FINDQUICKINDEX("fileLink", fileLink) ); - mainWindow.webContents.send("deleteWindow", fileLink); + if(!mainWindow.isDestroyed()){ + mainWindow.webContents.send("deleteWindow", fileLink); + } else { + app.quit() + } }); } @@ -205,6 +210,16 @@ ipcMain.on("forceCloseWindow", (event) => { } }); +/////////////////////////////////////////////////////////////// +// Close all displays +/////////////////////////////////////////////////////////////// + +ipcMain.on("closeAllDisplays", ()=>{ + openedDisplays.GETJSONDATA().forEach((e)=>{ + e.window.close(); + }) +}) + /////////////////////////////////////////////////////////////// // Handle Display Restart /////////////////////////////////////////////////////////////// @@ -218,6 +233,8 @@ ipcMain.on("restartDisplay", (event, args) => { "fileLink" ) ); + openedDisplays + .READ(openedDisplays.FINDQUICKINDEX("fileLink", args), "window").show() }); ///////////////////////////////////////////////////////////////