Bug 370562

Summary: Crash after removing a frame that has an active transform tool selection
Product: [Applications] krita Reporter: jalmiart
Component: AnimationAssignee: Krita Bugs <krita-bugs-null>
Status: RESOLVED FIXED    
Severity: crash CC: halla
Priority: NOR    
Version: 3.0.1   
Target Milestone: ---   
Platform: Microsoft Windows   
OS: Microsoft Windows   
Latest Commit: Version Fixed In:

Description jalmiart 2016-10-12 14:41:49 UTC
Krita crashes, if a frame with transform tool active is removed and another frame selected after that.

Reproducible: Always

Steps to Reproduce:
1. Create document (1920 × 1080, 3 layers, first one with fill)
2. Animation workspace opens by default
3. Draw something onto the canvas
4. In animation panel, click New frame to create frame there, on the timeline's first slot
5. Right-click some other slot on timeline, select Copy frame
6. Select the Transform tool, which automatically selects the layer contents. Notice, that you want some parts of the drawing to be on an another layer.
7. Right-click the most recent frame, select Remove frame. Frame is deleted from timeline, the drawing and the transform tool's selection remain visible on the canvas.
8. Click on the first frame on the timeline. Krita crashes. Looks like this is caused only by the transformation tool, active selection with outline selection etc. tools does not crash.

Actual Results:  
Krita crashes

Expected Results:  
The selected frame is activated, and either transform tool is deactivated, like happens when selecting another frame without removing frames, or apply the transform tool selection to the newly selected frame's contents directly.

Happens on both Krita 3.0 RC 1 and Beta 3.0.1.90. Cannot collect backtrace on the debug version (3.0.1.1), because it goes to Not responding state already in step 3, but does not crash.
Comment 1 jalmiart 2016-10-12 14:42:51 UTC
krita.exe caused an Access Violation at location 000000006F514B95 in module libkritaimage.dll Writing to location 0000000000000090.

AddrPC           Params
000000006F514B95 00000000A7F28980 000000006F532436 0000000000000001  libkritaimage.dll!KisPaintDeviceFramesInterface::invalidateFrameCache
000000006F531EE6 0000000000000000 000000006FCC1FF6 0000000000000000  libkritaimage.dll!KisTransactionData::startUpdates
000000006F533427 00000000131AD6D0 000000000846FBB0 0000000000000000  libkritaimage.dll!KisTransactionData::undo
000000006F4B081D 000000000000027F 0000000000000000 0000000000000000  libkritaimage.dll!KisStrokeStrategyUndoCommandBased::doStrokeCallback
000000001B09B691 0000000000000000 000007FEFE2713D2 0000000000000002  kritatooltransform.dll!TransformStrokeStrategy::doStrokeCallback
000000006F60DCA3 0000000000000000 000000000084BFCE 0000000000000000  libkritaimage.dll!KisUpdateJobItem::run
000000000084D7F5 000000000DF1F480 00000000A2846A40 000000000A90C580  Qt5Core.dll!QThreadPoolPrivate::enqueueTask
000000000084FD4C 000000000A90C580 0000000000000000 0000000000000000  Qt5Core.dll!QThread::setTerminationEnabled
000007FEFE27415F 000007FEFE301EA0 000000000A90C580 0000000000000000  msvcrt.dll!_endthreadex
000007FEFE276EBD 0000000000000000 0000000000000000 0000000000000000  msvcrt.dll!_endthreadex
00000000772259CD 0000000000000000 0000000000000000 0000000000000000  kernel32.dll!BaseThreadInitThunk
000000007735A2E1 0000000000000000 0000000000000000 0000000000000000  ntdll.dll!RtlUserThreadStart
Comment 2 Halla Rempt 2016-10-13 09:47:45 UTC
Hi Miia,

Thanks for your report. I fixed the bug, and the fix will be in the next beta build.