diff --git a/packages/excalidraw/actions/actionFinalize.tsx b/packages/excalidraw/actions/actionFinalize.tsx index 4ccee7182..9e2b10e16 100644 --- a/packages/excalidraw/actions/actionFinalize.tsx +++ b/packages/excalidraw/actions/actionFinalize.tsx @@ -134,6 +134,8 @@ export const actionFinalize = register({ }); } + const activeToolLocked = appState.activeTool?.locked; + console.log("finalize - activeToolLocked:", activeToolLocked); return { elements: element.points.length < 2 || isInvisiblySmallElement(element) @@ -147,15 +149,17 @@ export const actionFinalize = register({ appState: { ...appState, cursorButton: "up", - selectedLinearElement: { - ...linearElementEditor, - selectedPointsIndices: null, - isEditing: false, - initialState: { - ...linearElementEditor.initialState, - lastClickedPoint: -1, - }, - }, + selectedLinearElement: activeToolLocked + ? null + : { + ...linearElementEditor, + selectedPointsIndices: null, + isEditing: false, + initialState: { + ...linearElementEditor.initialState, + lastClickedPoint: -1, + }, + }, selectionElement: null, suggestedBinding: null, newElement: null, diff --git a/packages/excalidraw/components/App.tsx b/packages/excalidraw/components/App.tsx index 3e85bb04d..f1eff1d19 100644 --- a/packages/excalidraw/components/App.tsx +++ b/packages/excalidraw/components/App.tsx @@ -3194,14 +3194,14 @@ class App extends React.Component { this.setState({ editingTextElement: null }); } - if ( - this.state.selectedLinearElement && - !this.state.selectedElementIds[this.state.selectedLinearElement.elementId] - ) { - // To make sure `selectedLinearElement` is in sync with `selectedElementIds`, however this shouldn't be needed once - // we have a single API to update `selectedElementIds` - this.setState({ selectedLinearElement: null }); - } + // if ( + // this.state.selectedLinearElement && + // !this.state.selectedElementIds[this.state.selectedLinearElement.elementId] + // ) { + // // To make sure `selectedLinearElement` is in sync with `selectedElementIds`, however this shouldn't be needed once + // // we have a single API to update `selectedElementIds` + // this.setState({ selectedLinearElement: null }); + // } this.store.commit(elementsMap, this.state);