New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 787499 link

Starred by 2 users

Issue metadata

Status: WontFix
Owner: ----
Closed: Apr 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Task
Proj-XR



Sign in to add a comment

UI element binding system should protect against conflicting setters

Project Member Reported by cjgrant@chromium.org, Nov 21 2017

Issue description

The UI binding system connects model properties to UI element properties.  Bindings can be created arbitrarily, meaning that it's possible for two bindings to inadvertently set the same property.

One such bug has been found and will be fixed in the scene manager.

This is a conflict, and should not be done.  However, it'd be great if there was a way to programmatically catch this.  Based on discussion, a few possibilities are:

- Wrapping UI element properties in a templated type that tracks dirtiness, and bark if the property is dirtied more than once per frame.  Pro: This could catch any setter, not just bindings.  Con:  Conflicts may not be per-frame - two bindings could fire in different frames, and still conflict.

- Log mutators of setters.  Bark if two different mutators are seen.

 
Status: WontFix (was: Available)
If ever, we'll address this when there is either a need, or if we refactor the binding system for efficiency.  Closing for now.
Components: Internals>XR

Sign in to add a comment