diff options
Diffstat (limited to 'avmedia/source/opengl')
-rw-r--r-- | avmedia/source/opengl/oglwindow.cxx | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/avmedia/source/opengl/oglwindow.cxx b/avmedia/source/opengl/oglwindow.cxx index dbb366215a53..d082aa9d24f4 100644 --- a/avmedia/source/opengl/oglwindow.cxx +++ b/avmedia/source/opengl/oglwindow.cxx @@ -19,7 +19,7 @@ OGLWindow::OGLWindow( glTFHandle& rHandle, OpenGLContext& rContext, Window& rEve , m_rContext( rContext ) , m_rEventHandler( rEventHandlerParent ) , m_bVisible ( false ) - , m_aLastMousePos(Point()) + , m_aLastMousePos(Point(0,0)) , m_bIsOrbitMode( false ) , m_fCameraDistance(0.0) { @@ -321,7 +321,7 @@ IMPL_LINK(OGLWindow, CameraHandler, VclWindowEvent*, pEvent) m_rEventHandler.GrabFocus(); } MouseEvent* pMouseEvt = (MouseEvent*)pEvent->GetData(); - if(pMouseEvt && pMouseEvt->IsLeft()) + if(pMouseEvt && pMouseEvt->IsLeft() && m_aLastMousePos != Point(0,0)) { const Point& aCurPos = pMouseEvt->GetPosPixel(); float fSensitivity = std::min(m_rHandle.viewport.width, m_rHandle.viewport.height); @@ -353,6 +353,7 @@ IMPL_LINK(OGLWindow, CameraHandler, VclWindowEvent*, pEvent) MouseEvent* pMouseEvt = (MouseEvent*)pEvent->GetData(); if(pMouseEvt && pMouseEvt->IsLeft() && pMouseEvt->GetClicks() == 1) { + m_aLastMousePos = Point(0,0); gltf_renderer_stop_rotate_model(&m_rHandle); } } |