mirror of https://github.com/encounter/SDL.git
wayland: Maximize/Restore should set the relevant window flags.
Also, Maximize should be ignored for fixed-size windows.
This commit is contained in:
parent
006378b921
commit
c69fde348f
|
@ -850,6 +850,11 @@ Wayland_RestoreWindow(_THIS, SDL_Window * window)
|
||||||
SDL_WindowData *wind = window->driverdata;
|
SDL_WindowData *wind = window->driverdata;
|
||||||
const SDL_VideoData *viddata = (const SDL_VideoData *) _this->driverdata;
|
const SDL_VideoData *viddata = (const SDL_VideoData *) _this->driverdata;
|
||||||
|
|
||||||
|
/* Set this flag now even if we never actually maximized, eventually
|
||||||
|
* ShowWindow will take care of it along with the other window state.
|
||||||
|
*/
|
||||||
|
window->flags &= ~SDL_WINDOW_MAXIMIZED;
|
||||||
|
|
||||||
/* Note that xdg-shell does NOT provide a way to unset minimize! */
|
/* Note that xdg-shell does NOT provide a way to unset minimize! */
|
||||||
if (viddata->shell.xdg) {
|
if (viddata->shell.xdg) {
|
||||||
if (wind->shell_surface.xdg.roleobj.toplevel == NULL) {
|
if (wind->shell_surface.xdg.roleobj.toplevel == NULL) {
|
||||||
|
@ -894,6 +899,15 @@ Wayland_MaximizeWindow(_THIS, SDL_Window * window)
|
||||||
SDL_WindowData *wind = window->driverdata;
|
SDL_WindowData *wind = window->driverdata;
|
||||||
SDL_VideoData *viddata = (SDL_VideoData *) _this->driverdata;
|
SDL_VideoData *viddata = (SDL_VideoData *) _this->driverdata;
|
||||||
|
|
||||||
|
if (!(window->flags & SDL_WINDOW_RESIZABLE)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Set this flag now even if we don't actually maximize yet, eventually
|
||||||
|
* ShowWindow will take care of it along with the other window state.
|
||||||
|
*/
|
||||||
|
window->flags |= SDL_WINDOW_MAXIMIZED;
|
||||||
|
|
||||||
if (viddata->shell.xdg) {
|
if (viddata->shell.xdg) {
|
||||||
if (wind->shell_surface.xdg.roleobj.toplevel == NULL) {
|
if (wind->shell_surface.xdg.roleobj.toplevel == NULL) {
|
||||||
return; /* Can't do anything yet, wait for ShowWindow */
|
return; /* Can't do anything yet, wait for ShowWindow */
|
||||||
|
|
Loading…
Reference in New Issue