From 673870a47eaa392b43a22870afd4e45222a4148b Mon Sep 17 00:00:00 2001 From: adroitwhiz <adroitwhiz@protonmail.com> Date: Mon, 15 Jul 2019 17:20:24 -0400 Subject: [PATCH] onStartDrag: Always check target drawable exists --- src/containers/stage.jsx | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/containers/stage.jsx b/src/containers/stage.jsx index 3a61f5b17..79a41db7e 100644 --- a/src/containers/stage.jsx +++ b/src/containers/stage.jsx @@ -343,11 +343,16 @@ class Stage extends React.Component { onStartDrag (x, y) { if (this.state.dragId) return; - // Because pick queries are expensive, only perform them for drawables that are currently draggable. - let draggableTargets = this.props.vm.runtime.targets; + // Targets with no attached drawable cannot be dragged. + let draggableTargets = this.props.vm.runtime.targets.filter( + target => Number.isFinite(target.drawableID) + ); + + // Because pick queries can be expensive, only perform them for drawables that are currently draggable. + // If we're in the editor, we can drag all targets. Otherwise, filter. if (!this.props.useEditorDragStyle) { draggableTargets = draggableTargets.filter( - target => Number.isFinite(target.drawableID) && target.draggable + target => target.draggable ); } if (draggableTargets.length === 0) return; -- GitLab