From e5ea1b5265c6559ee97ff8f2fffad1ced543a6dd Mon Sep 17 00:00:00 2001 From: wmayer Date: Wed, 15 Aug 2012 13:18:19 +0200 Subject: [PATCH] Show popup menu on mouse button release to avoid problems with navigation style --- src/Gui/MouseSelection.cpp | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/src/Gui/MouseSelection.cpp b/src/Gui/MouseSelection.cpp index 97262f6018..a4733b5451 100644 --- a/src/Gui/MouseSelection.cpp +++ b/src/Gui/MouseSelection.cpp @@ -345,11 +345,24 @@ int PolyPickerSelection::mouseButtonEvent( const SoMouseButtonEvent * const e, c m_iXnew = pos.x(); m_iYnew = pos.y(); m_iXold = pos.x(); m_iYold = pos.y(); } - + } break; + default: + { + } break; + } + } + // release + else { + switch (button) + { + case SoMouseButtonEvent::BUTTON2: + { QCursor cur = _pcView3D->getWidget()->cursor(); _pcView3D->getWidget()->setCursor(m_cPrevCursor); -// _pcView3D->getGLWidget()->releaseMouse(); + // The pop-up menu should be shown when releasing mouse button because + // otherwise the navigation style doesn't get the UP event and gets into + // an inconsistent state. int id = popupMenu(); if (id == Finish || id == Cancel) { releaseMouseModel();