aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--types/wlr_output_damage.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/types/wlr_output_damage.c b/types/wlr_output_damage.c
index fe35b563..a1fb6134 100644
--- a/types/wlr_output_damage.c
+++ b/types/wlr_output_damage.c
@@ -144,6 +144,8 @@ bool wlr_output_damage_attach_render(struct wlr_output_damage *output_damage,
return false;
}
+ *needs_frame =
+ output->needs_frame || pixman_region32_not_empty(&output_damage->current);
// Check if we can use damage tracking
if (buffer_age <= 0 || buffer_age - 1 > WLR_OUTPUT_DAMAGE_PREVIOUS_LEN) {
int width, height;
@@ -151,6 +153,7 @@ bool wlr_output_damage_attach_render(struct wlr_output_damage *output_damage,
// Buffer new or too old, damage the whole output
pixman_region32_union_rect(damage, damage, 0, 0, width, height);
+ *needs_frame = true;
} else {
pixman_region32_copy(damage, &output_damage->current);
@@ -170,7 +173,6 @@ bool wlr_output_damage_attach_render(struct wlr_output_damage *output_damage,
}
}
- *needs_frame = output->needs_frame || pixman_region32_not_empty(damage);
return true;
}