mirror of
https://github.com/signalapp/Signal-Desktop.git
synced 2025-12-24 20:26:24 +00:00
[signalapp/Signal-Desktop#7526] Image disappears after first undo in media editor
Co-authored-by: HreshchyshynT <hreshchyshyn.t@gmail.com>
This commit is contained in:
@@ -328,7 +328,6 @@ export function MediaEditor({
|
||||
width: img.width,
|
||||
};
|
||||
setImageState(newImageState);
|
||||
takeSnapshot('initial state', newImageState, canvas);
|
||||
};
|
||||
img.onerror = (
|
||||
event: Event | string,
|
||||
@@ -591,6 +590,20 @@ export function MediaEditor({
|
||||
drawFabricBackgroundImage({ fabricCanvas, image, imageState });
|
||||
}, [fabricCanvas, image, imageState]);
|
||||
|
||||
const initialSnapshotTaken = useRef(false);
|
||||
useEffect(() => {
|
||||
if (
|
||||
!fabricCanvas ||
|
||||
!fabricCanvas.backgroundImage ||
|
||||
initialSnapshotTaken.current
|
||||
) {
|
||||
return;
|
||||
}
|
||||
|
||||
takeSnapshot('initial state', imageState, fabricCanvas);
|
||||
initialSnapshotTaken.current = true;
|
||||
}, [fabricCanvas, imageState, takeSnapshot]);
|
||||
|
||||
const [canCrop, setCanCrop] = useState(false);
|
||||
const [cropAspectRatioLock, setCropAspectRatioLock] = useState(false);
|
||||
const [drawTool, setDrawTool] = useState<DrawTool>(DrawTool.Pen);
|
||||
|
||||
Reference in New Issue
Block a user