diff options
Diffstat (limited to 'src/render')
| -rw-r--r-- | src/render/Renderer.cpp | 5 | ||||
| -rw-r--r-- | src/render/Renderer.hpp | 2 |
2 files changed, 4 insertions, 3 deletions
diff --git a/src/render/Renderer.cpp b/src/render/Renderer.cpp index 4fe35c7e..19b646a4 100644 --- a/src/render/Renderer.cpp +++ b/src/render/Renderer.cpp @@ -1763,7 +1763,7 @@ void CHyprRenderer::damageMonitor(CMonitor* pMonitor) { Debug::log(LOG, "Damage: Monitor {}", pMonitor->szName); } -void CHyprRenderer::damageBox(CBox* pBox) { +void CHyprRenderer::damageBox(CBox* pBox, bool skipFrameSchedule) { if (g_pCompositor->m_bUnsafeState) return; @@ -1773,7 +1773,8 @@ void CHyprRenderer::damageBox(CBox* pBox) { CBox damageBox = {pBox->x - m->vecPosition.x, pBox->y - m->vecPosition.y, pBox->width, pBox->height}; damageBox.scale(m->scale); - m->addDamage(&damageBox); + if (!skipFrameSchedule) + m->addDamage(&damageBox); } static auto PLOGDAMAGE = CConfigValue<Hyprlang::INT>("debug:log_damage"); diff --git a/src/render/Renderer.hpp b/src/render/Renderer.hpp index 60101e87..6adca72a 100644 --- a/src/render/Renderer.hpp +++ b/src/render/Renderer.hpp @@ -48,7 +48,7 @@ class CHyprRenderer { void arrangeLayersForMonitor(const int&); void damageSurface(SP<CWLSurfaceResource>, double, double, double scale = 1.0); void damageWindow(PHLWINDOW, bool forceFull = false); - void damageBox(CBox*); + void damageBox(CBox*, bool skipFrameSchedule = false); void damageBox(const int& x, const int& y, const int& w, const int& h); void damageRegion(const CRegion&); void damageMonitor(CMonitor*); |
