File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -8,6 +8,7 @@ import { registerIPC } from './ipc'
88import { startThemeWatcher , stopThemeWatcher } from './ipc/handlers/theme'
99import { validateStoredLicense } from './license'
1010import { createMainMenu } from './menu/main'
11+ import { isQuitting , setQuitting } from './quitState'
1112import { startMarkdownWatcher , stopMarkdownWatcher } from './storage'
1213import { ensureFlatSpacesLayout } from './storage/providers/markdown/runtime/spaces'
1314import { store } from './store'
@@ -24,7 +25,6 @@ const WINDOW_BOUNDS_SAVE_DELAY = 250
2425
2526let mainWindow : BrowserWindow
2627let saveWindowBoundsTimer : ReturnType < typeof setTimeout > | null = null
27- let isQuitting = false
2828let migrationResult : {
2929 folders : number
3030 snippets : number
@@ -117,7 +117,7 @@ function createWindow() {
117117 mainWindow . on ( 'close' , ( event ) => {
118118 flushWindowBoundsSave ( )
119119
120- if ( process . platform === 'darwin' && ! isQuitting ) {
120+ if ( process . platform === 'darwin' && ! isQuitting ( ) ) {
121121 event . preventDefault ( )
122122 mainWindow . hide ( )
123123 return
@@ -267,7 +267,7 @@ else {
267267 } )
268268
269269 app . on ( 'before-quit' , ( ) => {
270- isQuitting = true
270+ setQuitting ( true )
271271 flushWindowBoundsSave ( )
272272 stopThemeWatcher ( )
273273 stopMarkdownWatcher ( )
Original file line number Diff line number Diff line change 1+ // Общий флаг «приложение реально завершается». На macOS обработчик 'close'
2+ // прячет окно вместо выхода, поэтому путь установки апдейта (quitAndInstall)
3+ // должен выставить флаг до закрытия окон, иначе выход блокируется.
4+ let quitting = false
5+
6+ export function setQuitting ( value : boolean ) {
7+ quitting = value
8+ }
9+
10+ export function isQuitting ( ) {
11+ return quitting
12+ }
Original file line number Diff line number Diff line change @@ -3,6 +3,7 @@ import { autoUpdater } from 'electron-updater'
33import { repository , version } from '../../../package.json'
44import i18n from '../i18n'
55import { send } from '../ipc'
6+ import { setQuitting } from '../quitState'
67import { store } from '../store'
78import { log } from '../utils'
89
@@ -38,6 +39,9 @@ async function runUpdateCheck() {
3839}
3940
4041export function installDownloadedUpdate ( ) {
42+ // На macOS quitAndInstall закрывает окна, а обработчик 'close' без этого флага
43+ // спрятал бы окно вместо выхода и заблокировал установку.
44+ setQuitting ( true )
4145 autoUpdater . quitAndInstall ( )
4246}
4347
You can’t perform that action at this time.
0 commit comments