mirror of
https://github.com/swaywm/sway.git
synced 2024-12-30 17:06:40 +01:00
Fix segfault in output_render
This commit is contained in:
parent
15dadaaa44
commit
4289343e17
1 changed files with 7 additions and 4 deletions
|
@ -914,12 +914,17 @@ void output_render(struct sway_output *output, struct timespec *when,
|
||||||
struct wlr_output *wlr_output = output->wlr_output;
|
struct wlr_output *wlr_output = output->wlr_output;
|
||||||
|
|
||||||
struct wlr_renderer *renderer =
|
struct wlr_renderer *renderer =
|
||||||
wlr_backend_get_renderer(wlr_output->backend);
|
wlr_backend_get_renderer(wlr_output->backend);
|
||||||
if (!sway_assert(renderer != NULL,
|
if (!sway_assert(renderer != NULL,
|
||||||
"expected the output backend to have a renderer")) {
|
"expected the output backend to have a renderer")) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
struct sway_workspace *workspace = output->current.active_workspace;
|
||||||
|
if (workspace == NULL) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
wlr_renderer_begin(renderer, wlr_output->width, wlr_output->height);
|
wlr_renderer_begin(renderer, wlr_output->width, wlr_output->height);
|
||||||
|
|
||||||
if (!pixman_region32_not_empty(damage)) {
|
if (!pixman_region32_not_empty(damage)) {
|
||||||
|
@ -935,13 +940,11 @@ void output_render(struct sway_output *output, struct timespec *when,
|
||||||
pixman_region32_union_rect(damage, damage, 0, 0, width, height);
|
pixman_region32_union_rect(damage, damage, 0, 0, width, height);
|
||||||
}
|
}
|
||||||
|
|
||||||
struct sway_workspace *workspace = output->current.active_workspace;
|
|
||||||
struct sway_container *fullscreen_con = workspace->current.fullscreen;
|
|
||||||
|
|
||||||
if (output_has_opaque_overlay_layer_surface(output)) {
|
if (output_has_opaque_overlay_layer_surface(output)) {
|
||||||
goto render_overlay;
|
goto render_overlay;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
struct sway_container *fullscreen_con = workspace->current.fullscreen;
|
||||||
if (fullscreen_con) {
|
if (fullscreen_con) {
|
||||||
float clear_color[] = {0.0f, 0.0f, 0.0f, 1.0f};
|
float clear_color[] = {0.0f, 0.0f, 0.0f, 1.0f};
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue