summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorvaxerski <43317083+vaxerski@users.noreply.github.com>2022-07-04 17:55:33 +0200
committervaxerski <43317083+vaxerski@users.noreply.github.com>2022-07-04 17:55:33 +0200
commitbeef23cee5cdc47142da50bf029f52bdff192025 (patch)
tree9816976100e08f2b42157c241d182bbb6bdfba29
parent7e38de37a75f0429ae0d73be4fbbb0bfc04f9775 (diff)
fix vfr frame scheduling
-rw-r--r--src/render/Renderer.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/render/Renderer.cpp b/src/render/Renderer.cpp
index 776c76dd..307229a1 100644
--- a/src/render/Renderer.cpp
+++ b/src/render/Renderer.cpp
@@ -555,6 +555,11 @@ void CHyprRenderer::damageSurface(wlr_surface* pSurface, double x, double y) {
pixman_region32_init(&damageBox);
wlr_surface_get_effective_damage(pSurface, &damageBox);
+ // schedule frame events
+ if (!wl_list_empty(&pSurface->current.frame_callback_list)) {
+ wlr_output_schedule_frame(g_pCompositor->getMonitorFromVector(Vector2D(x, y))->output);
+ }
+
if (!pixman_region32_not_empty(&damageBox)) {
pixman_region32_fini(&damageBox);
return;