Work-around for preference crash with multiple GAL docs open.
This commit is contained in:
parent
29e0e6921b
commit
f1e2f142a6
|
@ -74,9 +74,11 @@ public:
|
|||
int m_FastGrid2; // 2nd fast grid setting (index in EDA_DRAW_FRAME::m_gridSelectBox)
|
||||
|
||||
protected:
|
||||
BOARD* m_Pcb;
|
||||
GENERAL_COLLECTOR* m_Collector;
|
||||
BOARD* m_Pcb;
|
||||
GENERAL_COLLECTOR* m_Collector;
|
||||
|
||||
PCB_GENERAL_SETTINGS m_configSettings;
|
||||
bool m_toolbarsDirty;
|
||||
|
||||
void updateGridSelectBox();
|
||||
void updateZoomSelectBox();
|
||||
|
@ -583,6 +585,8 @@ public:
|
|||
|
||||
virtual void OnSwitchCanvas( wxCommandEvent& aEvent );
|
||||
|
||||
void OnUpdateToolbars( wxUpdateUIEvent& aEvent );
|
||||
|
||||
// User interface update event handlers.
|
||||
void OnUpdateCoordType( wxUpdateUIEvent& aEvent );
|
||||
void OnUpdatePadDrawMode( wxUpdateUIEvent& aEvent );
|
||||
|
|
|
@ -88,6 +88,7 @@ BEGIN_EVENT_TABLE( PCB_BASE_FRAME, EDA_DRAW_FRAME )
|
|||
EVT_TOOL( ID_TB_OPTIONS_SHOW_MODULE_EDGE_SKETCH, PCB_BASE_FRAME::OnToggleEdgeDrawMode )
|
||||
EVT_TOOL( ID_TB_OPTIONS_SHOW_MODULE_TEXT_SKETCH, PCB_BASE_FRAME::OnToggleTextDrawMode )
|
||||
|
||||
EVT_UPDATE_UI( ID_H_TOOLBAR, PCB_BASE_FRAME::OnUpdateToolbars )
|
||||
EVT_UPDATE_UI( ID_TB_OPTIONS_SHOW_POLAR_COORD, PCB_BASE_FRAME::OnUpdateCoordType )
|
||||
EVT_UPDATE_UI( ID_TB_OPTIONS_SHOW_PADS_SKETCH, PCB_BASE_FRAME::OnUpdatePadDrawMode )
|
||||
EVT_UPDATE_UI( ID_TB_OPTIONS_SHOW_GRAPHIC_SKETCH, PCB_BASE_FRAME::OnUpdateGraphicDrawMode )
|
||||
|
@ -108,10 +109,10 @@ PCB_BASE_FRAME::PCB_BASE_FRAME( KIWAY* aKiway, wxWindow* aParent, FRAME_T aFrame
|
|||
const wxString& aTitle, const wxPoint& aPos, const wxSize& aSize,
|
||||
long aStyle, const wxString & aFrameName ) :
|
||||
EDA_DRAW_FRAME( aKiway, aParent, aFrameType, aTitle, aPos, aSize, aStyle, aFrameName ),
|
||||
m_configSettings( aFrameType )
|
||||
m_Pcb( nullptr ),
|
||||
m_configSettings( aFrameType ),
|
||||
m_toolbarsDirty( false )
|
||||
{
|
||||
m_Pcb = NULL;
|
||||
|
||||
m_UserGridSize = wxPoint( (int) 10 * IU_PER_MILS, (int) 10 * IU_PER_MILS );
|
||||
m_Collector = new GENERAL_COLLECTOR();
|
||||
|
||||
|
@ -477,10 +478,7 @@ void PCB_BASE_FRAME::ShowChangedLanguage()
|
|||
EDA_DRAW_FRAME::ShowChangedLanguage();
|
||||
|
||||
// tooltips in toolbars
|
||||
ReCreateHToolbar();
|
||||
ReCreateAuxiliaryToolbar();
|
||||
ReCreateVToolbar();
|
||||
ReCreateOptToolbar();
|
||||
m_toolbarsDirty = true;
|
||||
|
||||
// status bar
|
||||
UpdateMsgPanel();
|
||||
|
@ -1064,10 +1062,7 @@ void PCB_BASE_FRAME::CommonSettingsChanged()
|
|||
{
|
||||
EDA_DRAW_FRAME::CommonSettingsChanged();
|
||||
|
||||
ReCreateHToolbar();
|
||||
ReCreateAuxiliaryToolbar();
|
||||
ReCreateVToolbar();
|
||||
ReCreateOptToolbar();
|
||||
m_toolbarsDirty = true;
|
||||
|
||||
EDA_3D_VIEWER* viewer = Get3DViewerFrame();
|
||||
|
||||
|
@ -1080,6 +1075,20 @@ void PCB_BASE_FRAME::CommonSettingsChanged()
|
|||
}
|
||||
|
||||
|
||||
void PCB_BASE_FRAME::OnUpdateToolbars( wxUpdateUIEvent& aEvent )
|
||||
{
|
||||
if( m_toolbarsDirty )
|
||||
{
|
||||
ReCreateHToolbar();
|
||||
ReCreateAuxiliaryToolbar();
|
||||
ReCreateVToolbar();
|
||||
ReCreateOptToolbar();
|
||||
|
||||
m_toolbarsDirty = false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void PCB_BASE_FRAME::OnModify()
|
||||
{
|
||||
GetScreen()->SetModify();
|
||||
|
|
Loading…
Reference in New Issue