From 45de2e43fc8418e8dd850fa1ef711fa2947c8790 Mon Sep 17 00:00:00 2001 From: Val Erastov Date: Fri, 15 Feb 2019 19:36:31 -0800 Subject: [PATCH] fix sketcher showing sketch for an outdated face --- web/app/cad/sketch/inPlaceSketcher.js | 4 +++- web/app/cad/sketch/sketcherPlugin.js | 7 +++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/web/app/cad/sketch/inPlaceSketcher.js b/web/app/cad/sketch/inPlaceSketcher.js index 3e576bd6..e0617217 100644 --- a/web/app/cad/sketch/inPlaceSketcher.js +++ b/web/app/cad/sketch/inPlaceSketcher.js @@ -48,7 +48,9 @@ export class InPlaceSketcher { } exit() { - this.face.ext.view.sketchGroup.visible = true; + if (this.face.ext.view) { + this.face.ext.view.sketchGroup.visible = true; + } let viewer3d = this.ctx.services.viewer; viewer3d.sceneSetup.trackballControls.removeEventListener( 'change', this.onCameraChange); this.face = null; diff --git a/web/app/cad/sketch/sketcherPlugin.js b/web/app/cad/sketch/sketcherPlugin.js index 508c9c35..124806bd 100644 --- a/web/app/cad/sketch/sketcherPlugin.js +++ b/web/app/cad/sketch/sketcherPlugin.js @@ -123,6 +123,13 @@ export function activate(ctx) { } streams.craft.models.attach(updateAllSketches); + streams.craft.models.attach(() => { + if (inPlaceEditor.inEditMode) { + if (!inPlaceEditor.face.ext.view) { + inPlaceEditor.exit(); + } + } + }); services.sketcher = { sketchFace, sketchFace2D, updateAllSketches, getAllSketches, readSketch, hasSketch, inPlaceEditor, reassignSketch,