diff options
author | emersion <contact@emersion.fr> | 2018-01-18 14:50:30 +0100 |
---|---|---|
committer | emersion <contact@emersion.fr> | 2018-01-18 14:50:30 +0100 |
commit | 7f5a538cb73eb20fa37ff98161d45a3a383622aa (patch) | |
tree | 64e819c31b49498c36cfb9115b3ca658e72de1c7 /rootston | |
parent | 5017d7f7625e4ca3369feb241a81ad8a570d0fd1 (diff) |
rootston: fix segfault when rendering surface outside output
Diffstat (limited to 'rootston')
-rw-r--r-- | rootston/output.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/rootston/output.c b/rootston/output.c index 027d8275..16a185af 100644 --- a/rootston/output.c +++ b/rootston/output.c @@ -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; |