output: damage whole output when fullscreen surface size changes

master
emersion 7 years ago
parent a295c805c4
commit edb4c8d858
No known key found for this signature in database
GPG Key ID: 0FDE7BE0E88F5E48

@ -82,6 +82,7 @@ struct wlr_output {
struct wlr_surface *fullscreen_surface; struct wlr_surface *fullscreen_surface;
struct wl_listener fullscreen_surface_commit; struct wl_listener fullscreen_surface_commit;
struct wl_listener fullscreen_surface_destroy; struct wl_listener fullscreen_surface_destroy;
int fullscreen_width, fullscreen_height;
struct wl_list cursors; // wlr_output_cursor::link struct wl_list cursors; // wlr_output_cursor::link
struct wlr_output_cursor *hardware_cursor; struct wlr_output_cursor *hardware_cursor;

@ -594,6 +594,14 @@ static void output_fullscreen_surface_handle_commit(
fullscreen_surface_commit); fullscreen_surface_commit);
struct wlr_surface *surface = output->fullscreen_surface; struct wlr_surface *surface = output->fullscreen_surface;
if (output->fullscreen_width != surface->current->width ||
output->fullscreen_height != surface->current->height) {
output->fullscreen_width = surface->current->width;
output->fullscreen_height = surface->current->height;
output_damage_whole(output);
return;
}
struct wlr_box box; struct wlr_box box;
output_fullscreen_surface_get_box(output, surface, &box); output_fullscreen_surface_get_box(output, surface, &box);

Loading…
Cancel
Save