diff options
| -rw-r--r-- | types/wlr_output_damage.c | 4 | 
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;  }  | 
