diff --git a/modules/ui/entity_editor.js b/modules/ui/entity_editor.js index 9cb24141e..81e9071d6 100644 --- a/modules/ui/entity_editor.js +++ b/modules/ui/entity_editor.js @@ -295,7 +295,7 @@ export function uiEntityEditor(context) { _base = context.graph(); _coalesceChanges = false; - loadActivePresets(); + loadActivePresets(true); return entityEditor .modified(false); @@ -309,7 +309,7 @@ export function uiEntityEditor(context) { }; - function loadActivePresets() { + function loadActivePresets(isForNewSelection) { var graph = context.graph(); @@ -331,11 +331,14 @@ export function uiEntityEditor(context) { return presetManager.item(pID); }); - // A "weak" preset doesn't set any tags. (e.g. "Address") - var weakPreset = _activePresets.length === 1 && - Object.keys(_activePresets[0].addTags || {}).length === 0; - // Don't replace a weak preset with a fallback preset (e.g. "Point") - if (weakPreset && matches.length === 1 && matches[0].isFallback()) return; + if (!isForNewSelection) { + // A "weak" preset doesn't set any tags. (e.g. "Address") + var weakPreset = _activePresets.length === 1 && + !_activePresets[0].isFallback() && + Object.keys(_activePresets[0].addTags || {}).length === 0; + // Don't replace a weak preset with a fallback preset (e.g. "Point") + if (weakPreset && matches.length === 1 && matches[0].isFallback()) return; + } entityEditor.presets(matches); }