FIX: Special chars in HID names causing rebinding to not work (case 1335465). #1451
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes 1335465 (FogBugz).
Description
In control paths, characters like (/, <, >, {, and }) take on special meaning. Backslashes are used to escape this.
However, the current code takes many strings (such as product names) as is and puts them into control paths where they are then read incorrectly.
Changes made
The code now escapes and unescapes strings in several places. Also, the / character takes on special meaning only while not inside a {..} or <..> group.
Notes
InputControlPath
is still waiting for a proper refactor which I chose not to roll into this bugfix. There's thePathParser
code now andMatchPathComponent
should be brought over to it. All code operating on path structures should be rolled over into usingPathParser
.Checklist
Before review:
Changed
,Fixed
,Added
sections.([case %number%](https://issuetracker.unity3d.com/issues/...))
.Area_CanDoX
,Area_CanDoX_EvenIfYIsTheCase
,Area_WhenIDoX_AndYHappens_ThisIsTheResult
.During merge:
NEW: ___
.FIX: ___
.DOCS: ___
.CHANGE: ___
.RELEASE: 1.1.0-preview.3
.