diff --git a/src/input.cpp b/src/input.cpp index 9edd8877a1..0e364b3c16 100644 --- a/src/input.cpp +++ b/src/input.cpp @@ -3453,7 +3453,7 @@ void InputDeviceHandler::updateDecoration() Decoration::DecoratedClientImpl *decoration = nullptr; auto hover = m_hover.window.data(); if (hover && hover->decoratedClient()) { - if (!hover->clientGeometry().toRect().contains(QPoint(std::floor(position().x()), std::floor(position().y())))) { + if (!hover->clientGeometry().toRect().contains(flooredPoint(position()))) { // input device above decoration decoration = hover->decoratedClient(); } diff --git a/src/pointer_input.cpp b/src/pointer_input.cpp index 7ce8294c51..bcae21f007 100644 --- a/src/pointer_input.cpp +++ b/src/pointer_input.cpp @@ -54,8 +54,7 @@ static bool screenContainsPos(const QPointF &pos) { const auto outputs = workspace()->outputs(); for (const Output *output : outputs) { - if (output->geometry().contains(QPoint(std::floor(pos.x()), - std::floor(pos.y())))) { + if (output->geometry().contains(flooredPoint(pos))) { return true; } } @@ -735,23 +734,19 @@ QPointF PointerInputRedirection::applyPointerConfinement(const QPointF &pos) con return pos; } - auto floorPoint = [](const QPointF &point) { - return QPoint(std::floor(point.x()), std::floor(point.y())); - }; - const QRegion confinementRegion = getConstraintRegion(focus(), cf); - if (confinementRegion.contains(floorPoint(pos))) { + if (confinementRegion.contains(flooredPoint(pos))) { return pos; } QPointF p = pos; // allow either x or y to pass p = QPointF(m_pos.x(), pos.y()); - if (confinementRegion.contains(floorPoint(p))) { + if (confinementRegion.contains(flooredPoint(p))) { return p; } p = QPointF(pos.x(), m_pos.y()); - if (confinementRegion.contains(floorPoint(p))) { + if (confinementRegion.contains(flooredPoint(p))) { return p; }