on xenial help sign in
Don't let the mouse go outside the parentItem (LP: #1525350)
2bf24dbAlbert Astals Cid
plugins/Cursor/MousePointer.cpp+5−5
@@ -52,17 +52,17 @@ void MousePointer::handleMouseEvent(ulong timestamp, QPointF movement, Qt::Mouse
52 if (newX < 0) {
52 if (newX < 0) {
53 Q_EMIT pushedLeftBoundary(qAbs(newX), buttons);
53 Q_EMIT pushedLeftBoundary(qAbs(newX), buttons);
54 newX = 0;
54 newX = 0;
55− } else if (newX > parentItem()->width()) {
55+ } else if (newX >= parentItem()->width()) {
56− Q_EMIT pushedRightBoundary(newX - parentItem()->width(), buttons);
56+ Q_EMIT pushedRightBoundary(newX - (parentItem()->width() - 1), buttons);
57− newX = parentItem()->width();
57+ newX = parentItem()->width() - 1;
58 }
58 }
59 setX(newX);
59 setX(newX);
60
60
61 qreal newY = y() + appliedMovement.y();
61 qreal newY = y() + appliedMovement.y();
62 if (newY < 0) {
62 if (newY < 0) {
63 newY = 0;
63 newY = 0;
64− } else if (newY > parentItem()->height()) {
64+ } else if (newY >= parentItem()->height()) {
65− newY = parentItem()->height();
65+ newY = parentItem()->height() - 1;
66 }
66 }
67 setY(newY);
67 setY(newY);
68
68