mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-28 05:00:20 +00:00
Ruler: fix weird behaviour near x = 0
RulerNodeItem2::recalculate() does something which is apparently not a good idea in combination with RulerNodeItem2::mouseMoveEvent(). Each time the mouse moves, setPos() is called. Then in recalculate() the x() value is checked and if less than 0 it's changed to x = 0 (setPos(0, y());). This last call (setPos(0, y());) however does not work and the value remains less than zero leaving one of the ruler points outside of the graph. To solve the issue we add a silly explicit check if x() < 0 before calling setPos() in RulerNodeItem2::mouseMoveEvent(). The 'x() > timeAxis->posAtValue(data->sec)' strangely works on the other hand. Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
c688cc52e8
commit
609036c570
1 changed files with 4 additions and 1 deletions
|
@ -61,7 +61,10 @@ void RulerNodeItem2::recalculate()
|
|||
|
||||
void RulerNodeItem2::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
|
||||
{
|
||||
setPos(event->scenePos());
|
||||
qreal x = event->scenePos().x();
|
||||
if (x < 0.0)
|
||||
x = 0.0;
|
||||
setPos(x, event->scenePos().y());
|
||||
recalculate();
|
||||
ruler->recalculate();
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue