From f23c6b0c2f1457b9c4022b23abdb05b7860590e3 Mon Sep 17 00:00:00 2001 From: Jeff Young Date: Wed, 15 Feb 2023 13:22:08 +0000 Subject: [PATCH] Clear dirty flags after a move. Fixes https://gitlab.com/kicad/code/kicad/issues/11362 (cherry picked from commit 40e1296a8b5196b5e53242d17a8fb0fc14d1a5c7) --- pcbnew/board_commit.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pcbnew/board_commit.cpp b/pcbnew/board_commit.cpp index caccd4622a..b0c0ee0cd1 100644 --- a/pcbnew/board_commit.cpp +++ b/pcbnew/board_commit.cpp @@ -130,6 +130,8 @@ void BOARD_COMMIT::dirtyIntersectingZones( BOARD_ITEM* item, int aChangeType ) { if( aChangeType != CHT_MODIFY || ( child->GetFlags() & IS_MODIFIED_CHILD ) ) dirtyIntersectingZones( child, aChangeType ); + + child->ClearFlags( IS_MODIFIED_CHILD ); } ); } else if( item->Type() == PCB_GROUP_T ) @@ -138,6 +140,7 @@ void BOARD_COMMIT::dirtyIntersectingZones( BOARD_ITEM* item, int aChangeType ) [&]( BOARD_ITEM* child ) { dirtyIntersectingZones( child, aChangeType ); + child->ClearFlags( IS_MODIFIED_CHILD ); } ); } else @@ -165,6 +168,8 @@ void BOARD_COMMIT::dirtyIntersectingZones( BOARD_ITEM* item, int aChangeType ) } } } + + item->ClearFlags( IS_MODIFIED_CHILD ); } }