diff --git a/common/tool/action_menu.cpp b/common/tool/action_menu.cpp index ea4e0ca6e2..897709581b 100644 --- a/common/tool/action_menu.cpp +++ b/common/tool/action_menu.cpp @@ -183,20 +183,21 @@ wxMenuItem* ACTION_MENU::Add( const TOOL_ACTION& aAction, bool aIsCheckmarkEntry wxMenuItem* ACTION_MENU::Add( ACTION_MENU* aMenu ) { - m_submenus.push_back( aMenu ); + ACTION_MENU* menuCopy = aMenu->Clone(); + m_submenus.push_back( menuCopy ); - wxASSERT_MSG( !aMenu->m_title.IsEmpty(), wxT( "Set a title for ACTION_MENU using SetTitle()" ) ); + wxASSERT_MSG( !menuCopy->m_title.IsEmpty(), wxT( "Set a title for ACTION_MENU using SetTitle()" ) ); if( !!aMenu->m_icon ) { - wxMenuItem* newItem = new wxMenuItem( this, -1, aMenu->m_title ); + wxMenuItem* newItem = new wxMenuItem( this, -1, menuCopy->m_title ); AddBitmapToMenuItem( newItem, KiBitmap( aMenu->m_icon ) ); - newItem->SetSubMenu( aMenu ); + newItem->SetSubMenu( menuCopy ); return Append( newItem ); } else { - return AppendSubMenu( aMenu, aMenu->m_title ); + return AppendSubMenu( menuCopy, menuCopy->m_title ); } } diff --git a/eeschema/menubar.cpp b/eeschema/menubar.cpp index bbea599815..3843f615e8 100644 --- a/eeschema/menubar.cpp +++ b/eeschema/menubar.cpp @@ -72,7 +72,7 @@ void SCH_EDIT_FRAME::ReCreateMenuBar() fileMenu->Add( ACTIONS::doNew ); fileMenu->Add( ACTIONS::open ); - wxMenuItem* item = fileMenu->Add( openRecentMenu->Clone() ); + wxMenuItem* item = fileMenu->Add( openRecentMenu ); // Add the file menu condition here since it needs the item ID for the submenu ACTION_CONDITIONS cond; diff --git a/gerbview/menubar.cpp b/gerbview/menubar.cpp index 2adf7b6494..c1985ccfc0 100644 --- a/gerbview/menubar.cpp +++ b/gerbview/menubar.cpp @@ -73,7 +73,7 @@ void GERBVIEW_FRAME::ReCreateMenuBar() } fileMenu->Add( GERBVIEW_ACTIONS::openGerber ); - wxMenuItem* gbrItem = fileMenu->Add( openRecentGbrMenu->Clone() ); + wxMenuItem* gbrItem = fileMenu->Add( openRecentGbrMenu ); RegisterUIUpdateHandler( gbrItem->GetId(), FileHistoryCond( recentGbrFiles) ); @@ -91,7 +91,7 @@ void GERBVIEW_FRAME::ReCreateMenuBar() } fileMenu->Add( GERBVIEW_ACTIONS::openDrillFile ); - wxMenuItem* drillItem = fileMenu->Add( openRecentDrlMenu->Clone() ); + wxMenuItem* drillItem = fileMenu->Add( openRecentDrlMenu ); RegisterUIUpdateHandler( drillItem->GetId(), FileHistoryCond( m_drillFileHistory ) ); @@ -109,7 +109,7 @@ void GERBVIEW_FRAME::ReCreateMenuBar() } fileMenu->Add( GERBVIEW_ACTIONS::openJobFile ); - wxMenuItem* jobItem = fileMenu->Add( openRecentJobMenu->Clone() ); + wxMenuItem* jobItem = fileMenu->Add( openRecentJobMenu ); RegisterUIUpdateHandler( jobItem->GetId(), FileHistoryCond( m_jobFileHistory ) ); @@ -127,7 +127,7 @@ void GERBVIEW_FRAME::ReCreateMenuBar() } fileMenu->Add( GERBVIEW_ACTIONS::openZipFile ); - wxMenuItem* zipItem = fileMenu->Add( openRecentZipMenu->Clone() ); + wxMenuItem* zipItem = fileMenu->Add( openRecentZipMenu ); RegisterUIUpdateHandler( zipItem->GetId(), FileHistoryCond( m_zipFileHistory ) ); #undef FileHistoryCond diff --git a/kicad/menubar.cpp b/kicad/menubar.cpp index 4c4390e215..734753c131 100644 --- a/kicad/menubar.cpp +++ b/kicad/menubar.cpp @@ -79,7 +79,7 @@ void KICAD_MANAGER_FRAME::ReCreateMenuBar() fileMenu->Add( KICAD_MANAGER_ACTIONS::openProject ); - wxMenuItem* item = fileMenu->Add( openRecentMenu->Clone() ); + wxMenuItem* item = fileMenu->Add( openRecentMenu ); // Add the file menu condition here since it needs the item ID for the submenu ACTION_CONDITIONS cond; diff --git a/pagelayout_editor/menubar.cpp b/pagelayout_editor/menubar.cpp index 80b7f5239d..c4994daec2 100644 --- a/pagelayout_editor/menubar.cpp +++ b/pagelayout_editor/menubar.cpp @@ -68,7 +68,7 @@ void PL_EDITOR_FRAME::ReCreateMenuBar() fileMenu->Add( ACTIONS::doNew ); fileMenu->Add( ACTIONS::open ); - wxMenuItem* item = fileMenu->Add( openRecentMenu->Clone() ); + wxMenuItem* item = fileMenu->Add( openRecentMenu ); // Add the file menu condition here since it needs the item ID for the submenu ACTION_CONDITIONS cond; diff --git a/pcbnew/menubar_pcb_editor.cpp b/pcbnew/menubar_pcb_editor.cpp index c6bda35868..e34cc02c03 100644 --- a/pcbnew/menubar_pcb_editor.cpp +++ b/pcbnew/menubar_pcb_editor.cpp @@ -74,7 +74,7 @@ void PCB_EDIT_FRAME::ReCreateMenuBar() fileMenu->Add( ACTIONS::doNew ); fileMenu->Add( ACTIONS::open ); - wxMenuItem* item = fileMenu->Add( openRecentMenu->Clone() ); + wxMenuItem* item = fileMenu->Add( openRecentMenu ); // Add the file menu condition here since it needs the item ID for the submenu ACTION_CONDITIONS cond;