Search Issue Tracker

By Design

Votes

0

Found in

2019.2.0a1

2019.3.0a1

2019.3.0b2

2020.1.0a1

Issue ID

1182679

Regression

No

[UI Elements] Parent element ValueChangedCallback is triggered when changing it's child value

UI Toolkit

-

How to reproduce:
1. Open the attached "case_1182679_repro" project
2. In the top menu bar, click on Window -> "BUG REPORT 9"
3. In the appeared window, toggle the "InnerToggle"
4. Check the output in the Console Window

Expected results: The output log is "Clicked" only
Actual results: Both methods are triggered, resulting in "Clicked" and "Foldout value changed" logs

Reproducible with: 2019.2.7f2, 2019.3.0b4, 2020.1.0a5

Additional note: The project on Unity versions 2019.4.9f1 and earlier could not be tested due to missing UIElements

  1. Resolution Note:

    This is not a bug. ChangeEvent propagates from the event target (the Toggle) up to the root, thus triggering the callback on the Foldout. The Foldout should check the target of the event (evt.target == evt.currentTarget) before doing work related on foldout value change.

    evt.currentTarget: the element for which we are executing the callback
    evt.target: the element that was the target of the event

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.