diff --git a/eeschema/sch_base_frame.cpp b/eeschema/sch_base_frame.cpp index 115071072f..7402dde68a 100644 --- a/eeschema/sch_base_frame.cpp +++ b/eeschema/sch_base_frame.cpp @@ -384,7 +384,7 @@ void SCH_BASE_FRAME::UpdateItem( EDA_ITEM* aItem, bool isAddOrDelete, bool aUpda * Be careful when calling this. Update will invalidate RTree iterators, so you cannot call this * while doing things like `for( SCH_ITEM* item : screen->Items() )` */ - if( aUpdateRtree) + if( aUpdateRtree && dynamic_cast( aItem ) ) GetScreen()->Update( static_cast( aItem ) ); // Calling Refresh() here introduces a bi-stable state: when doing operations on a