From 8efb43598d76853998d41e6ff7611d3e7a9d0e08 Mon Sep 17 00:00:00 2001 From: Benjamin Wheeler <wheeler.benjamin@gmail.com> Date: Thu, 7 Jan 2021 09:26:55 -0500 Subject: [PATCH] Revert "Only call Renderer.pick() on draggable targets in Stage.onStartDrag" --- src/containers/stage.jsx | 21 ++++----------------- 1 file changed, 4 insertions(+), 17 deletions(-) diff --git a/src/containers/stage.jsx b/src/containers/stage.jsx index 79a41db7e..8e1ac9248 100644 --- a/src/containers/stage.jsx +++ b/src/containers/stage.jsx @@ -342,29 +342,16 @@ class Stage extends React.Component { } onStartDrag (x, y) { if (this.state.dragId) return; - - // 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 => target.draggable - ); - } - if (draggableTargets.length === 0) return; - - const draggableIDs = draggableTargets.map(target => target.drawableID); - const drawableId = this.renderer.pick(x, y, 1, 1, draggableIDs); + const drawableId = this.renderer.pick(x, y); if (drawableId === null) return; const targetId = this.props.vm.getTargetIdForDrawableId(drawableId); if (targetId === null) return; const target = this.props.vm.runtime.getTargetById(targetId); + // Do not start drag unless in editor drag mode or target is draggable + if (!(this.props.useEditorDragStyle || target.draggable)) return; + // Dragging always brings the target to the front target.goToFront(); -- GitLab