From 9e98bfcfd108ead748a2dfbb6315e58d7742dbd7 Mon Sep 17 00:00:00 2001 From: Paolo Cignoni cignoni Date: Wed, 1 Apr 2009 14:03:58 +0000 Subject: [PATCH] removed bug of hanging ctrl trackball when ctrl-clicking in the layers --- src/meshlab/glarea.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/meshlab/glarea.cpp b/src/meshlab/glarea.cpp index 3761719a4..9df9ace46 100644 --- a/src/meshlab/glarea.cpp +++ b/src/meshlab/glarea.cpp @@ -569,7 +569,16 @@ void GLArea::mousePressEvent(QMouseEvent*e) else activeDefaultTrackball=true; if (isDefaultTrackBall()) + { + if(QApplication::keyboardModifiers () & Qt::Key_Control) trackball.ButtonDown(QT2VCG(Qt::NoButton, Qt::ControlModifier ) ); + else trackball.ButtonUp (QT2VCG(Qt::NoButton, Qt::ControlModifier ) ); + if(QApplication::keyboardModifiers () & Qt::Key_Shift) trackball.ButtonDown(QT2VCG(Qt::NoButton, Qt::ShiftModifier ) ); + else trackball.ButtonUp (QT2VCG(Qt::NoButton, Qt::ShiftModifier ) ); + if(QApplication::keyboardModifiers () & Qt::Key_Alt) trackball.ButtonDown(QT2VCG(Qt::NoButton, Qt::AltModifier ) ); + else trackball.ButtonUp (QT2VCG(Qt::NoButton, Qt::AltModifier ) ); + trackball.MouseDown(e->x(),height()-e->y(), QT2VCG(e->button(), e->modifiers() ) ); + } else trackball_light.MouseDown(e->x(),height()-e->y(), QT2VCG(e->button(), Qt::NoModifier ) ); } update();