mirror of https://github.com/encounter/SDL.git
wayland: Detach hidden surfaces in HideWindow, not ShowWindow
This commit is contained in:
parent
ca22b30e46
commit
e2d74bcbe5
|
@ -725,12 +725,6 @@ void Wayland_ShowWindow(_THIS, SDL_Window *window)
|
||||||
SDL_VideoData *c = _this->driverdata;
|
SDL_VideoData *c = _this->driverdata;
|
||||||
SDL_WindowData *data = window->driverdata;
|
SDL_WindowData *data = window->driverdata;
|
||||||
|
|
||||||
/* Detach any previous buffers before resetting everything, otherwise when
|
|
||||||
* calling this a second time you'll get an annoying protocol error
|
|
||||||
*/
|
|
||||||
wl_surface_attach(data->surface, NULL, 0, 0);
|
|
||||||
wl_surface_commit(data->surface);
|
|
||||||
|
|
||||||
/* Create the shell surface and map the toplevel */
|
/* Create the shell surface and map the toplevel */
|
||||||
#ifdef HAVE_LIBDECOR_H
|
#ifdef HAVE_LIBDECOR_H
|
||||||
if (c->shell.libdecor) {
|
if (c->shell.libdecor) {
|
||||||
|
@ -862,6 +856,10 @@ void Wayland_HideWindow(_THIS, SDL_Window *window)
|
||||||
wind->shell_surface.xdg.surface = NULL;
|
wind->shell_surface.xdg.surface = NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Be sure to detach after this is done, otherwise ShowWindow crashes! */
|
||||||
|
wl_surface_attach(wind->surface, NULL, 0, 0);
|
||||||
|
wl_surface_commit(wind->surface);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|
Loading…
Reference in New Issue