diff --git a/pcbnew/tools/edit_tool.cpp b/pcbnew/tools/edit_tool.cpp index 239fc90333..79a619941b 100644 --- a/pcbnew/tools/edit_tool.cpp +++ b/pcbnew/tools/edit_tool.cpp @@ -199,7 +199,7 @@ bool EDIT_TOOL::Init() // Selection tool handles the context menu for some other tools, such as the Picker. // Don't add things like Paste when another tool is active. menu.AddItem( ACTIONS::paste, noActiveToolCondition, 150 ); - menu.AddItem( ACTIONS::pasteSpecial, noActiveToolCondition, 150 ); + menu.AddItem( ACTIONS::pasteSpecial, noActiveToolCondition && !inFootprintEditor, 150 ); menu.AddItem( ACTIONS::duplicate, SELECTION_CONDITIONS::NotEmpty, 150 ); menu.AddItem( ACTIONS::doDelete, SELECTION_CONDITIONS::NotEmpty, 150 ); diff --git a/pcbnew/tools/pcb_control.cpp b/pcbnew/tools/pcb_control.cpp index 5619e12b90..1b61ccc49d 100644 --- a/pcbnew/tools/pcb_control.cpp +++ b/pcbnew/tools/pcb_control.cpp @@ -659,7 +659,7 @@ static void pasteFootprintItemsToFootprintEditor( FOOTPRINT* aClipFootprint, BOA if( text->GetType() != FP_TEXT::TEXT_is_DIVERS ) continue; - text->SetTextAngle( aClipFootprint->GetOrientation() ); + text->SetTextAngle( text->GetTextAngle() + aClipFootprint->GetOrientation() ); text->SetParent( nullptr ); text->SetLocalCoord();