From 741c6f2d55a36f593ead7b4ae929beb25c8b4bba Mon Sep 17 00:00:00 2001 From: jean-pierre charras Date: Sun, 24 Sep 2023 11:07:04 +0200 Subject: [PATCH] SCH_COMMIT: when clearing all item flags, do not clear SELECTED item flags. If a item is selected, its SELECTED flag cannot be cleared without managing selections stored in tools, and must be still selected after changes. Fixes #15671 https://gitlab.com/kicad/code/kicad/-/issues/15671 --- eeschema/sch_commit.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/eeschema/sch_commit.cpp b/eeschema/sch_commit.cpp index fbbeed87dc..f5f3fd1ce7 100644 --- a/eeschema/sch_commit.cpp +++ b/eeschema/sch_commit.cpp @@ -302,7 +302,10 @@ void SCH_COMMIT::pushSchEdit( const wxString& aMessage, int aCommitFlags ) break; } - schItem->ClearFlags(); + // Clear all flags but SELECTED, after edition + // (selected items must keep their selection flag). + const int selected_mask = ( SELECTED | SELECTED_BY_DRAG ); + schItem->ClearFlags( EDA_ITEM_ALL_FLAGS - selected_mask ); } if( schematic )