Fixed crash when context menu is invoked during track dragging (GAL).
This commit is contained in:
@@ -66,6 +66,8 @@ void TOOL_INTERACTIVE::goInternal( TOOL_STATE_FUNC& aState, const TOOL_EVENT_LIS
|
||||
|
||||
void TOOL_INTERACTIVE::SetContextMenu( CONTEXT_MENU* aMenu, CONTEXT_MENU_TRIGGER aTrigger )
|
||||
{
|
||||
aMenu->SetTool( this );
|
||||
if( aMenu )
|
||||
aMenu->SetTool( this );
|
||||
|
||||
m_toolMgr->ScheduleContextMenu( this, aMenu, aTrigger );
|
||||
}
|
||||
|
||||
@@ -722,6 +722,9 @@ int ROUTER_TOOL::mainLoop( PNS_ROUTER_MODE aMode )
|
||||
m_savedSettings = m_router->Settings();
|
||||
m_savedSizes = m_router->Sizes();
|
||||
|
||||
// Disable the context menu before it is destroyed
|
||||
SetContextMenu( NULL, CMENU_OFF );
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -745,8 +748,6 @@ void ROUTER_TOOL::performDragging()
|
||||
{
|
||||
ctls->ForceCursorPosition( false );
|
||||
|
||||
VECTOR2I p0 = ctls->GetCursorPosition();
|
||||
|
||||
if( evt->IsCancel() || evt->IsActivate() )
|
||||
break;
|
||||
else if( evt->IsMotion() )
|
||||
|
||||
Reference in New Issue
Block a user