mirror of https://github.com/encounter/SDL.git
Fix wayland reconnection paths
Most of this code is disabled out for now. - For mouse cursors we have a wl_surface for both system and custom cursors which needs recreating. - The other patch is about nullification after deletions
This commit is contained in:
parent
33a68f575f
commit
689218ebf5
|
@ -620,10 +620,9 @@ Wayland_RecreateCursor(SDL_Cursor *cursor, SDL_VideoData *vdata)
|
||||||
create_buffer_from_shm(cdata, cdata->w, cdata->h, WL_SHM_FORMAT_ARGB8888);
|
create_buffer_from_shm(cdata, cdata->w, cdata->h, WL_SHM_FORMAT_ARGB8888);
|
||||||
|
|
||||||
SDL_memcpy(cdata->shm_data, old_data_pointer, stride * cdata->h);
|
SDL_memcpy(cdata->shm_data, old_data_pointer, stride * cdata->h);
|
||||||
|
|
||||||
cdata->surface = wl_compositor_create_surface(vdata->compositor);
|
|
||||||
wl_surface_set_user_data(cdata->surface, NULL);
|
|
||||||
}
|
}
|
||||||
|
cdata->surface = wl_compositor_create_surface(vdata->compositor);
|
||||||
|
wl_surface_set_user_data(cdata->surface, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
@ -691,7 +690,9 @@ Wayland_FiniMouse(SDL_VideoData *data)
|
||||||
for (i = 0; i < data->num_cursor_themes; i += 1) {
|
for (i = 0; i < data->num_cursor_themes; i += 1) {
|
||||||
WAYLAND_wl_cursor_theme_destroy(data->cursor_themes[i].theme);
|
WAYLAND_wl_cursor_theme_destroy(data->cursor_themes[i].theme);
|
||||||
}
|
}
|
||||||
|
data->num_cursor_themes = 0;
|
||||||
SDL_free(data->cursor_themes);
|
SDL_free(data->cursor_themes);
|
||||||
|
data->cursor_themes = NULL;
|
||||||
|
|
||||||
SDL_DelHintCallback(SDL_HINT_VIDEO_WAYLAND_EMULATE_MOUSE_WARP,
|
SDL_DelHintCallback(SDL_HINT_VIDEO_WAYLAND_EMULATE_MOUSE_WARP,
|
||||||
Wayland_EmulateMouseWarpChanged, input);
|
Wayland_EmulateMouseWarpChanged, input);
|
||||||
|
|
|
@ -1053,6 +1053,7 @@ Wayland_VideoCleanup(_THIS)
|
||||||
display->desktop_mode.driverdata = NULL;
|
display->desktop_mode.driverdata = NULL;
|
||||||
SDL_DelVideoDisplay(i);
|
SDL_DelVideoDisplay(i);
|
||||||
}
|
}
|
||||||
|
data->output_list = NULL;
|
||||||
|
|
||||||
Wayland_display_destroy_input(data);
|
Wayland_display_destroy_input(data);
|
||||||
Wayland_display_destroy_pointer_constraints(data);
|
Wayland_display_destroy_pointer_constraints(data);
|
||||||
|
|
Loading…
Reference in New Issue