Make sure screen RTrees are updated when changing bounding boxes.
This commit is contained in:
parent
9ce5978c3d
commit
7bc79c17d4
|
@ -1479,7 +1479,7 @@ void SCH_EDIT_FRAME::RecalculateConnections( SCH_CLEANUP_FLAGS aCleanupFlags )
|
|||
Schematic().ConnectionGraph()->Recalculate( list, true, &changeHandler );
|
||||
|
||||
GetCanvas()->GetView()->UpdateAllItemsConditionally(
|
||||
[]( KIGFX::VIEW_ITEM* aItem ) -> int
|
||||
[&]( KIGFX::VIEW_ITEM* aItem ) -> int
|
||||
{
|
||||
int flags = 0;
|
||||
SCH_ITEM* item = dynamic_cast<SCH_ITEM*>( aItem );
|
||||
|
@ -1514,6 +1514,9 @@ void SCH_EDIT_FRAME::RecalculateConnections( SCH_CLEANUP_FLAGS aCleanupFlags )
|
|||
text->ClearBoundingBoxCache();
|
||||
flags |= KIGFX::GEOMETRY | KIGFX::REPAINT;
|
||||
}
|
||||
|
||||
if( flags & KIGFX::GEOMETRY )
|
||||
GetScreen()->Update( item, false ); // Refresh RTree
|
||||
}
|
||||
|
||||
return flags;
|
||||
|
|
|
@ -959,7 +959,7 @@ int SCH_EDITOR_CONTROL::AssignNetclass( const TOOL_EVENT& aEvent )
|
|||
if( dlg.ShowModal() )
|
||||
{
|
||||
getView()->UpdateAllItemsConditionally(
|
||||
[]( KIGFX::VIEW_ITEM* aItem ) -> int
|
||||
[&]( KIGFX::VIEW_ITEM* aItem ) -> int
|
||||
{
|
||||
int flags = 0;
|
||||
|
||||
|
@ -997,6 +997,9 @@ int SCH_EDITOR_CONTROL::AssignNetclass( const TOOL_EVENT& aEvent )
|
|||
text->ClearBoundingBoxCache();
|
||||
flags |= KIGFX::GEOMETRY | KIGFX::REPAINT;
|
||||
}
|
||||
|
||||
if( flags & KIGFX::GEOMETRY )
|
||||
m_frame->GetScreen()->Update( item, false ); // Refresh RTree
|
||||
}
|
||||
|
||||
return flags;
|
||||
|
|
Loading…
Reference in New Issue