mirror of
https://github.com/hyprwm/Hyprland
synced 2024-11-22 16:05:58 +01:00
surface: minor fixes for last logicalDamage calc fix
This commit is contained in:
parent
e4790e3f8e
commit
1763566308
2 changed files with 7 additions and 5 deletions
|
@ -57,10 +57,10 @@ CRegion CWLSurface::logicalDamage() const {
|
|||
damage.transform(m_pWLRSurface->current.transform, m_pWLRSurface->current.buffer_width, m_pWLRSurface->current.buffer_height);
|
||||
damage.scale(1.0 / m_pWLRSurface->current.scale);
|
||||
|
||||
const auto VPSIZE = getViewporterCorrectedSize() / m_pWLRSurface->current.scale;
|
||||
const auto VPSIZE = getViewporterCorrectedSize();
|
||||
const auto CORRECTVEC = correctSmallVec();
|
||||
|
||||
damage.scale({VPSIZE.x / m_pWLRSurface->current.width, VPSIZE.y / m_pWLRSurface->current.height});
|
||||
damage.scale({VPSIZE.x / m_pWLRSurface->current.buffer_width, VPSIZE.y / m_pWLRSurface->current.buffer_height});
|
||||
damage.translate(CORRECTVEC);
|
||||
|
||||
return damage;
|
||||
|
|
|
@ -1588,10 +1588,12 @@ void CHyprRenderer::damageSurface(wlr_surface* pSurface, double x, double y, dou
|
|||
y += CORRECTION.y;
|
||||
}
|
||||
|
||||
const auto WLSURF = CWLSurface::surfaceFromWlr(pSurface);
|
||||
if (!WLSURF)
|
||||
const auto WLSURF = CWLSurface::surfaceFromWlr(pSurface);
|
||||
CRegion damageBox = WLSURF ? WLSURF->logicalDamage() : CRegion{};
|
||||
if (!WLSURF) {
|
||||
Debug::log(ERR, "BUG THIS: No CWLSurface for surface in damageSurface!!!");
|
||||
CRegion damageBox = WLSURF ? WLSURF->logicalDamage() : CRegion{&pSurface->buffer_damage};
|
||||
wlr_surface_get_effective_damage(pSurface, damageBox.pixman());
|
||||
}
|
||||
if (scale != 1.0)
|
||||
damageBox.scale(scale);
|
||||
|
||||
|
|
Loading…
Reference in a new issue