rootston: fix segfault when rendering surface outside output

This commit is contained in:
emersion 2018-01-18 14:50:30 +01:00
parent 5017d7f762
commit 7f5a538cb7
No known key found for this signature in database
GPG Key ID: 0FDE7BE0E88F5E48
1 changed files with 3 additions and 2 deletions

View File

@ -72,7 +72,7 @@ static void render_surface(struct wlr_surface *surface,
&output->damage);
bool damaged = pixman_region32_not_empty(&surface_damage);
if (!damaged) {
goto render_subsurfaces;
goto finish_surface_damage;
}
float transform[16];
@ -131,9 +131,10 @@ static void render_surface(struct wlr_surface *surface,
wlr_surface_send_frame_done(surface, when);
render_subsurfaces:
finish_surface_damage:
pixman_region32_fini(&surface_damage);
render_subsurfaces:;
struct wlr_subsurface *subsurface;
wl_list_for_each(subsurface, &surface->subsurface_list, parent_link) {
struct wlr_surface_state *state = subsurface->surface->current;