[client] fix ignoreQuit on Wayland

On Wayland, SDL_WINDOWEVENT_CLOSE is sent even when exiting with keyboard
shortcuts. This meant that the client is still closed even with -Q.

We now swallow SDL_WINDOWEVENT_CLOSE if the cursor is inside the VM. This
should prevent keyboard shortcuts from closing the client, while still
allowing the window to be closed by clicking X with the mouse per #138.
This commit is contained in:
Quantum 2021-01-05 01:38:36 -05:00 committed by Geoffrey McRae
parent f47c8cb806
commit c9f41ea69e

View file

@ -1272,9 +1272,9 @@ int eventFilter(void * userdata, SDL_Event * event)
}
break;
// allow a window close event to close the application even if ignoreQuit is set
case SDL_WINDOWEVENT_CLOSE:
g_state.state = APP_STATE_SHUTDOWN;
if (!params.ignoreQuit || !g_cursor.inView)
g_state.state = APP_STATE_SHUTDOWN;
break;
}
return 0;