fix/clean-resource-on-exit (#1290)
This commit is contained in:
parent
1d902567f7
commit
67aa13610c
@ -3,6 +3,7 @@
|
||||
*/
|
||||
export class ModuleManager {
|
||||
public requiredModules: Record<string, any> = {}
|
||||
public cleaningResource = false
|
||||
|
||||
public static instance: ModuleManager = new ModuleManager()
|
||||
|
||||
|
||||
@ -19,6 +19,7 @@ import { handleAppIPCs } from './handlers/app'
|
||||
import { handleAppUpdates } from './handlers/update'
|
||||
import { handleFsIPCs } from './handlers/fs'
|
||||
import { migrateExtensions } from './utils/migration'
|
||||
import { dispose } from './utils/disposable'
|
||||
|
||||
app
|
||||
.whenReady()
|
||||
@ -37,14 +38,12 @@ app
|
||||
})
|
||||
})
|
||||
|
||||
app.on('window-all-closed', () => {
|
||||
ModuleManager.instance.clearImportedModules()
|
||||
app.quit()
|
||||
app.once('window-all-closed', () => {
|
||||
cleanUpAndQuit()
|
||||
})
|
||||
|
||||
app.on('quit', () => {
|
||||
ModuleManager.instance.clearImportedModules()
|
||||
app.quit()
|
||||
app.once('quit', () => {
|
||||
cleanUpAndQuit()
|
||||
})
|
||||
|
||||
function createMainWindow() {
|
||||
@ -83,3 +82,13 @@ function handleIPCs() {
|
||||
handleAppIPCs()
|
||||
handleFileMangerIPCs()
|
||||
}
|
||||
|
||||
function cleanUpAndQuit() {
|
||||
if (!ModuleManager.instance.cleaningResource) {
|
||||
ModuleManager.instance.cleaningResource = true
|
||||
WindowManager.instance.currentWindow?.destroy()
|
||||
dispose(ModuleManager.instance.requiredModules)
|
||||
ModuleManager.instance.clearImportedModules()
|
||||
app.quit()
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user