mirror of https://github.com/encounter/SDL.git
Fixed bug 4013 - Wayland: fix videoquit on multimonitor system
Vladimir On multimonitor system Wayland_VideoQuit invalid deiniting. Tested in Centos7 + Weston
This commit is contained in:
parent
1fa4bcca6a
commit
8111a632be
|
@ -233,6 +233,7 @@ display_handle_mode(void *data,
|
||||||
mode.w = width;
|
mode.w = width;
|
||||||
mode.h = height;
|
mode.h = height;
|
||||||
mode.refresh_rate = refresh / 1000; // mHz to Hz
|
mode.refresh_rate = refresh / 1000; // mHz to Hz
|
||||||
|
mode.driverdata = display->driverdata;
|
||||||
SDL_AddDisplayMode(display, &mode);
|
SDL_AddDisplayMode(display, &mode);
|
||||||
|
|
||||||
if (flags & WL_OUTPUT_MODE_CURRENT) {
|
if (flags & WL_OUTPUT_MODE_CURRENT) {
|
||||||
|
@ -408,7 +409,7 @@ void
|
||||||
Wayland_VideoQuit(_THIS)
|
Wayland_VideoQuit(_THIS)
|
||||||
{
|
{
|
||||||
SDL_VideoData *data = _this->driverdata;
|
SDL_VideoData *data = _this->driverdata;
|
||||||
int i;
|
int i, j;
|
||||||
|
|
||||||
Wayland_FiniMouse ();
|
Wayland_FiniMouse ();
|
||||||
|
|
||||||
|
@ -416,6 +417,11 @@ Wayland_VideoQuit(_THIS)
|
||||||
SDL_VideoDisplay *display = &_this->displays[i];
|
SDL_VideoDisplay *display = &_this->displays[i];
|
||||||
wl_output_destroy(display->driverdata);
|
wl_output_destroy(display->driverdata);
|
||||||
display->driverdata = NULL;
|
display->driverdata = NULL;
|
||||||
|
|
||||||
|
for (j = display->num_display_modes; j--;) {
|
||||||
|
display->display_modes[j].driverdata = NULL;
|
||||||
|
}
|
||||||
|
display->desktop_mode.driverdata = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
Wayland_display_destroy_input(data);
|
Wayland_display_destroy_input(data);
|
||||||
|
|
Loading…
Reference in New Issue