mirror of
https://github.com/libsdl-org/SDL.git
synced 2026-03-20 15:51:07 +01:00
wayland: Fix the state check when resizing a hidden window
The floating state is only set after the first configuration event arrives, so size changes before the window was initially shown could be dropped. Use the flags instead.
This commit is contained in:
@@ -3084,10 +3084,12 @@ void Wayland_SetWindowSize(SDL_VideoDevice *_this, SDL_Window *window)
|
|||||||
*/
|
*/
|
||||||
FlushPendingEvents(window);
|
FlushPendingEvents(window);
|
||||||
|
|
||||||
|
const bool resizable_state = !(window->flags & (SDL_WINDOW_MAXIMIZED || SDL_WINDOW_FULLSCREEN));
|
||||||
|
|
||||||
/* Maximized and fullscreen windows don't get resized, and the new size is ignored
|
/* Maximized and fullscreen windows don't get resized, and the new size is ignored
|
||||||
* if this is just to recalculate the min/max or aspect limits on a tiled window.
|
* if this is just to recalculate the min/max or aspect limits on a tiled window.
|
||||||
*/
|
*/
|
||||||
if (wind->floating || (window->tiled && !wind->limits_changed) ||
|
if (resizable_state || (window->tiled && !wind->limits_changed) ||
|
||||||
wind->shell_surface_type == WAYLAND_SHELL_SURFACE_TYPE_CUSTOM) {
|
wind->shell_surface_type == WAYLAND_SHELL_SURFACE_TYPE_CUSTOM) {
|
||||||
if (!wind->scale_to_display) {
|
if (!wind->scale_to_display) {
|
||||||
wind->requested.logical_width = window->pending.w;
|
wind->requested.logical_width = window->pending.w;
|
||||||
|
|||||||
Reference in New Issue
Block a user