From 293971da34c5db3c44974ac4b9b29c64ece7c81a Mon Sep 17 00:00:00 2001 From: Quincy Morgan <2046746+quincylvania@users.noreply.github.com> Date: Wed, 22 Jul 2020 11:18:05 -0400 Subject: [PATCH] Fix issue where inspector may not update correctly when switching between weak and fallback presets (close #7827) --- modules/ui/entity_editor.js | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) 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); }