Make sure the menu bar gets activated (ie: don't eat the activate event).

Fixes: lp:1841560
* https://bugs.launchpad.net/kicad/+bug/1841560
This commit is contained in:
Jeff Young 2019-08-27 13:51:01 +01:00
parent a5a237ac32
commit 559035a7f6
2 changed files with 31 additions and 22 deletions

View File

@ -703,14 +703,19 @@ void LIB_VIEW_FRAME::CommonSettingsChanged( bool aEnvVarsChanged )
void LIB_VIEW_FRAME::OnActivate( wxActivateEvent& event ) void LIB_VIEW_FRAME::OnActivate( wxActivateEvent& event )
{ {
bool changed = m_libList ? ReCreateListLib() : false; if( event.GetActive() )
{
bool changed = m_libList ? ReCreateListLib() : false;
if (changed) if (changed)
m_selection_changed = true; m_selection_changed = true;
updatePreviewSymbol(); updatePreviewSymbol();
DisplayLibInfos(); DisplayLibInfos();
}
event.Skip(); // required under wxMAC
} }

View File

@ -751,30 +751,34 @@ void FOOTPRINT_VIEWER_FRAME::setCurFootprintName( const wxString& aName )
void FOOTPRINT_VIEWER_FRAME::OnActivate( wxActivateEvent& event ) void FOOTPRINT_VIEWER_FRAME::OnActivate( wxActivateEvent& event )
{ {
// Ensure we do not have old selection: if( event.GetActive() )
if( !event.GetActive() )
return;
// Ensure we have the right library list:
std::vector< wxString > libNicknames = Prj().PcbFootprintLibs()->GetLogicalLibs();
if( libNicknames.size() == m_libList->GetCount() )
{ {
unsigned ii; // Ensure we have the right library list:
std::vector< wxString > libNicknames = Prj().PcbFootprintLibs()->GetLogicalLibs();
bool stale = false;
for( ii = 0; ii < libNicknames.size(); ii++ ) if( libNicknames.size() != m_libList->GetCount() )
stale = true;
else
{ {
if( libNicknames[ii] != m_libList->GetString( ii ) ) for( unsigned ii = 0; ii < libNicknames.size(); ii++ )
break; {
if( libNicknames[ii] != m_libList->GetString( ii ) )
{
stale = true;
break;
}
}
} }
if( ii == libNicknames.size() ) if( stale )
return; {
ReCreateLibraryList();
UpdateTitle();
}
} }
// If we are here, the library list has changed, rebuild it event.Skip(); // required under wxMAC
ReCreateLibraryList();
UpdateTitle();
} }