Commit f2788a30 authored by Maciej Suminski's avatar Maciej Suminski

Corrected way of storing cursor coordinates for context

parent 787415c2
......@@ -594,6 +594,8 @@ void TOOL_MANAGER::dispatchContextMenu( const TOOL_EVENT& aEvent )
// Temporarily store the cursor position, so the tools could execute actions
// using the point where the user has invoked a context menu
bool forcedCursor = m_viewControls->IsCursorPositionForced();
VECTOR2D cursorPos = m_viewControls->GetCursorPosition();
m_viewControls->ForceCursorPosition( true, m_viewControls->GetCursorPosition() );
// Run update handlers
......@@ -609,7 +611,7 @@ void TOOL_MANAGER::dispatchContextMenu( const TOOL_EVENT& aEvent )
dispatchInternal( evt );
}
m_viewControls->ForceCursorPosition( false );
m_viewControls->ForceCursorPosition( forcedCursor, cursorPos );
break;
}
......
......@@ -152,7 +152,6 @@ public:
*/
virtual VECTOR2D GetCursorPosition() const = 0;
/**
* Function ForceCursorPosition()
* Places the cursor immediately at a given point. Mouse movement is ignored.
......@@ -182,6 +181,11 @@ public:
m_cursorCaptured = aEnabled;
}
inline bool IsCursorPositionForced() const
{
return m_forceCursorPosition;
}
protected:
/// Sets center for VIEW, takes into account panning boundaries.
void setCenter( const VECTOR2D& aCenter );
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment