wayland: Flush in SetWindowFullscreen

The flush has been removed in e5f9fae034.
Unfortunately, even though ideally the flush shouldn't be necessary,
our resize sequence isn't... well, perfect, and removing that flush causes
tons of troubles.

We're also still flushing in other paths where the window size can be
changed by the compositor and where we may potentially have to obey that
change, like in Wayland_MaximizeWindow.

This also removes the hack introduced in 7f261d3b76,
which introduces problems with protocol violations and seems to not be
necessary when flushing.
This commit is contained in:
Sebastian Krzyszkowiak 2021-08-02 08:15:10 +02:00 committed by Ethan Lee
parent ea28187cd5
commit 2506729893

View File

@ -924,15 +924,10 @@ Wayland_SetWindowFullscreen(_THIS, SDL_Window * window,
SDL_VideoDisplay * _display, SDL_bool fullscreen)
{
struct wl_output *output = ((SDL_WaylandOutputData*) _display->driverdata)->output;
SDL_VideoData *viddata = (SDL_VideoData *) _this->driverdata;
SetFullscreen(window, fullscreen ? output : NULL);
/* The window may have been resized to the output size, so reset this when
* returning to a window
*/
if (!fullscreen) {
SDL_WindowData *wind = (SDL_WindowData*) window->driverdata;
Wayland_HandleResize(window, window->windowed.w, window->windowed.h, wind->scale_factor);
}
WAYLAND_wl_display_flush( viddata->display );
}
void