Fix some issues with group bounding boxes.
Fixes https://gitlab.com/kicad/code/kicad/issues/12958
This commit is contained in:
parent
0120df014e
commit
c1510f07d8
|
@ -517,6 +517,7 @@ void PCB_SELECTION_TOOL::EnterGroup()
|
|||
select( titem );
|
||||
} );
|
||||
|
||||
view()->Hide( m_enteredGroup, true );
|
||||
m_enteredGroupOverlay.Add( m_enteredGroup );
|
||||
view()->Update( &m_enteredGroupOverlay );
|
||||
}
|
||||
|
@ -529,6 +530,7 @@ void PCB_SELECTION_TOOL::ExitGroup( bool aSelectGroup )
|
|||
return;
|
||||
|
||||
m_enteredGroup->ClearFlags( ENTERED );
|
||||
view()->Hide( m_enteredGroup, false );
|
||||
ClearSelection();
|
||||
|
||||
if( aSelectGroup )
|
||||
|
|
|
@ -639,8 +639,23 @@ void ZONE::Move( const VECTOR2I& offset )
|
|||
|
||||
HatchBorder();
|
||||
|
||||
/* move fills */
|
||||
for( std::pair<const PCB_LAYER_ID, std::shared_ptr<SHAPE_POLY_SET>>& pair : m_FilledPolysList )
|
||||
pair.second->Move( offset );
|
||||
|
||||
/*
|
||||
* move boundingbox cache
|
||||
*
|
||||
* While the cache will get nuked at the conclusion of the operation, we use it for some
|
||||
* things (such as drawing the parent group) during the move.
|
||||
*/
|
||||
if( GetBoard() )
|
||||
{
|
||||
auto it = GetBoard()->m_ZoneBBoxCache.find( this );
|
||||
|
||||
if( it != GetBoard()->m_ZoneBBoxCache.end() )
|
||||
it->second.Move( offset );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue