effects/contrast: Round device coordinates when creating geometry

Since normal geometry is now rounded, we need to make sure to round
anything that should match that geometry, otherwise we risk things
peeking out of the normal geometry.

BUG: 464526
This commit is contained in:
Arjen Hiemstra 2023-02-20 12:41:18 +01:00 committed by Vlad Zahorodnii
parent 996a0c05fa
commit edbbe996d3

View file

@ -313,10 +313,10 @@ void ContrastEffect::uploadRegion(QVector2D *&map, const QRegion &region, qreal
Q_ASSERT(map);
for (const QRect &r : region) {
const auto deviceRect = scaledRect(r, scale);
const QVector2D topLeft(deviceRect.x(), deviceRect.y());
const QVector2D topRight(deviceRect.x() + deviceRect.width(), deviceRect.y());
const QVector2D bottomLeft(deviceRect.x(), deviceRect.y() + deviceRect.height());
const QVector2D bottomRight(deviceRect.x() + deviceRect.width(), deviceRect.y() + deviceRect.height());
const QVector2D topLeft = roundVector(QVector2D(deviceRect.x(), deviceRect.y()));
const QVector2D topRight = roundVector(QVector2D(deviceRect.x() + deviceRect.width(), deviceRect.y()));
const QVector2D bottomLeft = roundVector(QVector2D(deviceRect.x(), deviceRect.y() + deviceRect.height()));
const QVector2D bottomRight = roundVector(QVector2D(deviceRect.x() + deviceRect.width(), deviceRect.y() + deviceRect.height()));
// First triangle
*(map++) = topRight;