From 32f4c1f966a96b3fb59ddf3d19625260a2e9d187 Mon Sep 17 00:00:00 2001 From: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Thu, 9 May 2024 10:10:01 +1000 Subject: [PATCH] fix(ui): memoize mouse event handlers This prevents resetting the stage event handlers on every frame. Whoops! --- .../src/features/controlLayers/hooks/mouseEventHooks.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/invokeai/frontend/web/src/features/controlLayers/hooks/mouseEventHooks.ts b/invokeai/frontend/web/src/features/controlLayers/hooks/mouseEventHooks.ts index fa49fdb473..514e8c35ff 100644 --- a/invokeai/frontend/web/src/features/controlLayers/hooks/mouseEventHooks.ts +++ b/invokeai/frontend/web/src/features/controlLayers/hooks/mouseEventHooks.ts @@ -224,5 +224,10 @@ export const useMouseEvents = () => { [selectedLayerType, tool, shouldInvertBrushSizeScrollDirection, dispatch, brushSize] ); - return { onMouseDown, onMouseUp, onMouseMove, onMouseLeave, onMouseWheel }; + const handlers = useMemo( + () => ({ onMouseDown, onMouseUp, onMouseMove, onMouseLeave, onMouseWheel }), + [onMouseDown, onMouseUp, onMouseMove, onMouseLeave, onMouseWheel] + ); + + return handlers; };