pcbnew: Don't use frame refresh to update display
Frame refresh in wxWidgets sets the focus back to indeterminate state and prevents hotkey action until the focus is captured again. Using canvas update is the correct method to update the canvas display after modifying zones/similar Fixes: lp:1810993 * https://bugs.launchpad.net/kicad/+bug/1810993
This commit is contained in:
parent
7f6b35c6bc
commit
b0da1e19ee
|
@ -33,6 +33,7 @@
|
|||
#include <class_board.h>
|
||||
#include <view/view_group.h>
|
||||
#include <pcb_view.h>
|
||||
#include <pcb_draw_panel_gal.h>
|
||||
|
||||
#include <functional>
|
||||
#include <tool/tool_menu.h>
|
||||
|
@ -46,7 +47,6 @@
|
|||
class PCB_TOOL;
|
||||
class PCB_EDIT_FRAME;
|
||||
class PCB_DISPLAY_OPTIONS;
|
||||
class PCB_DRAW_PANEL_GAL;
|
||||
class SELECTION;
|
||||
|
||||
struct INTERACTIVE_PLACER_BASE
|
||||
|
|
|
@ -130,8 +130,8 @@ int POSITION_RELATIVE_TOOL::RelativeItemSelectionMove( wxPoint aPosAnchor, wxPoi
|
|||
m_toolMgr->RunAction( PCB_ACTIONS::selectionClear, true );
|
||||
|
||||
m_toolMgr->RunAction( PCB_ACTIONS::selectionModified, true );
|
||||
|
||||
getEditFrame<PCB_EDIT_FRAME>()->Refresh();
|
||||
|
||||
canvas()->Refresh();
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -101,7 +101,7 @@ int ZONE_FILLER_TOOL::ZoneFill( const TOOL_EVENT& aEvent )
|
|||
filler.SetProgressReporter( progressReporter.get() );
|
||||
filler.Fill( toFill );
|
||||
|
||||
getEditFrame<PCB_EDIT_FRAME>()->Refresh();
|
||||
canvas()->Refresh();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -128,7 +128,7 @@ int ZONE_FILLER_TOOL::ZoneFillAll( const TOOL_EVENT& aEvent )
|
|||
if( filler.Fill( toFill ) )
|
||||
frame()->m_ZoneFillsDirty = false;
|
||||
|
||||
getEditFrame<PCB_EDIT_FRAME>()->Refresh();
|
||||
canvas()->Refresh();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -151,7 +151,7 @@ int ZONE_FILLER_TOOL::ZoneUnfill( const TOOL_EVENT& aEvent )
|
|||
}
|
||||
|
||||
commit.Push( _( "Unfill Zone" ) );
|
||||
getEditFrame<PCB_EDIT_FRAME>()->Refresh();
|
||||
canvas()->Refresh();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -179,7 +179,7 @@ int ZONE_FILLER_TOOL::SegzoneDeleteFill( const TOOL_EVENT& aEvent )
|
|||
}
|
||||
|
||||
commit.Push( _( "Delete Zone Filling" ) );
|
||||
getEditFrame<PCB_EDIT_FRAME>()->Refresh();
|
||||
canvas()->Refresh();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -198,7 +198,7 @@ int ZONE_FILLER_TOOL::ZoneUnfillAll( const TOOL_EVENT& aEvent )
|
|||
}
|
||||
|
||||
commit.Push( _( "Unfill All Zones" ) );
|
||||
getEditFrame<PCB_EDIT_FRAME>()->Refresh();
|
||||
canvas()->Refresh();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue