diff --git a/modules/behavior/draw_way.js b/modules/behavior/draw_way.js index f017d03e5..70b2c7f46 100644 --- a/modules/behavior/draw_way.js +++ b/modules/behavior/draw_way.js @@ -330,7 +330,8 @@ export function behaviorDrawWay(context, wayID, index, mode, startGraph, baselin window.setTimeout(function() { context.map().dblclickEnable(true); }, 1000); - var isNewFeature = !mode.isContinuing && mode.button.indexOf('add-preset-') === -1; + + var isNewFeature = !mode.isContinuing && context.presets().match(origWay, context.graph()).isFallback(); context.enter(modeSelect(context, [wayID]).newFeature(isNewFeature)); if (isNewFeature) { context.validator().validate(); diff --git a/modules/modes/add_point.js b/modules/modes/add_point.js index 3b79f86b6..c8d98b165 100644 --- a/modules/modes/add_point.js +++ b/modules/modes/add_point.js @@ -35,9 +35,7 @@ export function modeAddPoint(context, customMode) { t('operations.add.annotation.point') ); - context.enter( - modeSelect(context, [node.id]).newFeature(!mode.preset) - ); + enterSelectMode(node); } @@ -49,8 +47,12 @@ export function modeAddPoint(context, customMode) { t('operations.add.annotation.vertex') ); + enterSelectMode(node); + } + + function enterSelectMode(node) { context.enter( - modeSelect(context, [node.id]).newFeature(!mode.preset) + modeSelect(context, [node.id]).newFeature(mode.preset.isFallback()) ); }