only drop restrictions from FROM towards VIA when adding new only

partially adresses bugs in #4968:

* doesn't crash anymore in complex situations (short FROM ways where both ends connect to a TO way)
* adding a only-restriction at one end of a short FROM doesn't delete restrictions on the other end of the same FROM anymore
This commit is contained in:
Martin Raifer
2018-04-06 11:30:16 +02:00
parent d60c423ac0
commit d2d464d9ee
2 changed files with 8 additions and 10 deletions
+2 -2
View File
@@ -359,13 +359,13 @@ export function uiFieldRestrictions(field, context) {
datumOnly.only = true;
restrictionType = restrictionType.replace(/^no/, 'only');
// Adding an ONLY restriction should destroy all other direct restrictions from the FROM.
// Adding an ONLY restriction should destroy all other direct restrictions from the FROM towards the VIA.
// We will remember them in _oldTurns, and restore them if the user clicks again.
turns = _intersection.turns(_fromWayID, 2);
extraActions = [];
_oldTurns = [];
for (i = 0; i < turns.length; i++) {
if (turns[i].direct) {
if (turns[i].direct && turns[i].path[1] === datum.path[1]) {
turns[i].restrictionType = osmInferRestriction(vgraph, turns[i], projection);
_oldTurns.push(turns[i]);
extraActions.push(actionUnrestrictTurn(turns[i]));