diff --git a/pcbnew/board.cpp b/pcbnew/board.cpp index 87cbb29f2b..714496dc13 100644 --- a/pcbnew/board.cpp +++ b/pcbnew/board.cpp @@ -314,8 +314,13 @@ void BOARD::Move( const VECTOR2I& aMoveVector ) // overload INSPECTOR_FUNC inspector = [&] ( EDA_ITEM* item, void* testData ) { + BOARD_ITEM* brdItem = static_cast( item ); + // aMoveVector was snapshotted, don't need "data". - static_cast( item )->Move( aMoveVector ); + // Only move the top level group + if( brdItem->GetParentGroup() == nullptr ) + brdItem->Move( aMoveVector ); + return INSPECT_RESULT::CONTINUE; };