Skip to content

Fix object reference arrows not hiding with per-object visibility#4455

Open
Aayushmaan-24 wants to merge 1 commit intomapeditor:masterfrom
Aayushmaan-24:fix-4451-object-reference-arrows-issue
Open

Fix object reference arrows not hiding with per-object visibility#4455
Aayushmaan-24 wants to merge 1 commit intomapeditor:masterfrom
Aayushmaan-24:fix-4451-object-reference-arrows-issue

Conversation

@Aayushmaan-24
Copy link

Object reference arrows were correctly hidden when hiding an entire layer, but remained visible when toggling the visibility of individual objects.

The root cause was in addRemoveObjectReferences(): it checked objectGroup->isHidden() to skip hidden layers, but never checked object->isVisible() for individual objects. Additionally, when a MapObjectsChanged event was emitted for a visibility toggle, only syncOverlayItems() was called (which only syncs positions), so the arrows were never removed.

Fix:

  • In addRemoveObjectReferences(), skip invisible source objects and skip creating arrows that point to invisible target objects.
  • In changeEvent(), when MapObjectsChanged carries VisibleProperty, call addRemoveObjectReferences() to rebuild arrows.

Fixes #4451

Object reference arrows were correctly hidden when hiding an entire
layer, but remained visible when toggling the visibility of individual
objects.

The root cause was in addRemoveObjectReferences(): it checked
objectGroup->isHidden() to skip hidden layers, but never checked
object->isVisible() for individual objects. Additionally, when a
MapObjectsChanged event was emitted for a visibility toggle, only
syncOverlayItems() was called (which only syncs positions), so the
arrows were never removed.

Fix:
- In addRemoveObjectReferences(), skip invisible source objects and
  skip creating arrows that point to invisible target objects.
- In changeEvent(), when MapObjectsChanged carries VisibleProperty,
  call addRemoveObjectReferences() to rebuild arrows.

Fixes mapeditor#4451
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

objects reference arrows still draw despite object toggled hidden

1 participant