Skip to content

Commit a65f7f7

Browse files
authored
fix: close window when leave fs crash (electron#25468)
1 parent 2cfa41e commit a65f7f7

File tree

2 files changed

+17
-1
lines changed

2 files changed

+17
-1
lines changed

Diff for: shell/browser/api/electron_api_browser_window.cc

+1-1
Original file line numberDiff line numberDiff line change
@@ -340,11 +340,11 @@ void BrowserWindow::OnWindowResize() {
340340
}
341341

342342
void BrowserWindow::OnWindowLeaveFullScreen() {
343-
BaseWindow::OnWindowLeaveFullScreen();
344343
#if defined(OS_MAC)
345344
if (web_contents()->IsFullscreen())
346345
web_contents()->ExitFullscreen(true);
347346
#endif
347+
BaseWindow::OnWindowLeaveFullScreen();
348348
}
349349

350350
void BrowserWindow::Focus() {

Diff for: spec-main/api-browser-window-spec.ts

+16
Original file line numberDiff line numberDiff line change
@@ -3970,6 +3970,22 @@ describe('BrowserWindow module', () => {
39703970
});
39713971

39723972
ifdescribe(process.platform === 'darwin')('fullscreen state', () => {
3973+
it('should not cause a crash if called when exiting fullscreen', async () => {
3974+
const w = new BrowserWindow();
3975+
3976+
const enterFullScreen = emittedOnce(w, 'enter-full-screen');
3977+
w.setFullScreen(true);
3978+
await enterFullScreen;
3979+
3980+
await delay();
3981+
3982+
const leaveFullScreen = emittedOnce(w, 'leave-full-screen');
3983+
w.setFullScreen(false);
3984+
await leaveFullScreen;
3985+
3986+
w.close();
3987+
});
3988+
39733989
it('can be changed with setFullScreen method', async () => {
39743990
const w = new BrowserWindow();
39753991
const enterFullScreen = emittedOnce(w, 'enter-full-screen');

0 commit comments

Comments
 (0)