@nox,
Thanks for your patch 05.
this is better for complex hierarchies, but not yet fully working in more complex cases.
The labels issue is not fixed.
I am thinking you are using m_Flags to store the highlight status and this is not a good idea.
m_Flags is intended to temporary store flags mainly during edition and calculations, not for status bits.
You could try to use m_Status (GetState and SetState) to store the highlight status.
Note also a similar status flag exists for Pcbnew (BRIGHTENED) and accessors are already existing (IsBrightened(), SetBrightened ... ), so perhaps no need to create a new flag for Eeschema.
I uploaded a more complex hierarchy test (although this hierarchy is still basic) which shows highlight issues in the most inner sheets.
@nox,
Thanks for your patch 05.
this is better for complex hierarchies, but not yet fully working in more complex cases.
The labels issue is not fixed.
I am thinking you are using m_Flags to store the highlight status and this is not a good idea.
m_Flags is intended to temporary store flags mainly during edition and calculations, not for status bits.
You could try to use m_Status (GetState and SetState) to store the highlight status.
Note also a similar status flag exists for Pcbnew (BRIGHTENED) and accessors are already existing (IsBrightened(), SetBrightened ... ), so perhaps no need to create a new flag for Eeschema.
I uploaded a more complex hierarchy test (although this hierarchy is still basic) which shows highlight issues in the most inner sheets.
Thanks for your work.