Browse Source

fix: using stale state when switching tools (#4989)

David Luzar 3 years ago
parent
commit
f2d2f97546
1 changed files with 7 additions and 3 deletions
  1. 7 3
      src/components/Actions.tsx

+ 7 - 3
src/components/Actions.tsx

@@ -219,13 +219,17 @@ export const ShapesSwitcher = ({
           penMode: true,
         });
       }
+      const nextActiveTool = { ...activeTool, type: activeToolType };
       setAppState({
-        activeTool: { ...activeTool, type: activeToolType },
+        activeTool: nextActiveTool,
         multiElement: null,
         selectedElementIds: {},
       });
-      setCursorForShape(canvas, { ...appState, activeTool });
-      if (activeTool.type === "image") {
+      setCursorForShape(canvas, {
+        ...appState,
+        activeTool: nextActiveTool,
+      });
+      if (activeToolType === "image") {
         onImageAction({ pointerType });
       }
     },