Bug 405161 - pass-through layer groups crash with the transform tool
Summary: pass-through layer groups crash with the transform tool
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Applications
Component: Layer Stack (show other bugs)
Version: git master (please specify the git hash!)
Platform: Other Linux
: NOR crash
Target Milestone: ---
Assignee: Krita Bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-03-07 02:33 UTC by iszotic
Modified: 2019-03-12 19:00 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
Test file to test behaviour when transforming a pass-through group (977.00 KB, application/x-krita)
2019-03-12 18:01 UTC, Tiar
Details

Note You need to log in before you can comment on or make changes to this bug.
Description iszotic 2019-03-07 02:33:05 UTC
VERSION
4.2.0-pre-alpha
PACKAGE
2:4.1.0-0~201902231548~ubuntu18.04.1
SUMMARY

pass-through layer groups crash applying a transform with the transform tool, if pass-through is not enabled then it doesn't crash.

STEPS TO REPRODUCE
1. Create Krita document
2. Create a layer and then group it, then tick the pass-through option of the group layer
3. Select the transform tool
4. Select the group layer in the layer docker
5. Do a transform with the tool
6. Crash

OBSERVED RESULT
Crash before moving the group layer with pass through

EXPECTED RESULT
to transform the layer(or layers) inside the group, and not crash

SOFTWARE/OS VERSIONS
Windows: 
MacOS: 
Linux/KDE Plasma: 
(available in About System)
KDE Plasma Version: 
KDE Frameworks Version: 
Qt Version: 

ADDITIONAL INFORMATION
Comment 1 Halla Rempt 2019-03-11 13:52:28 UTC
[Switching to Thread 0x7fffa560b700 (LWP 4844)]
KisProjectionLeaf::original (this=0x0) at /home/boud/dev/krita/libs/image/kis_projection_leaf.cpp:250
250         return m_d->node->original();
(gdb) bt
#0  KisProjectionLeaf::original (this=0x0) at /home/boud/dev/krita/libs/image/kis_projection_leaf.cpp:250
#1  0x00007ffff54db763 in KisAsyncMerger::setupProjection (useTempProjection=false, rect=..., currentLeaf=..., 
    this=<optimized out>, this=<optimized out>, this=<optimized out>)
    at /home/boud/dev/krita/libs/image/kis_async_merger.cpp:311
#2  KisAsyncMerger::startMerge (this=0x7fff7c01c1f8, walker=..., notifyClones=<optimized out>)
    at /home/boud/dev/krita/libs/image/kis_async_merger.cpp:245
#3  0x00007ffff571111c in non-virtual thunk to KisUpdateJobItem::run() ()
   from /home/boud/dev/i-krita/lib/x86_64-linux-gnu/libkritaimage.so.18
#4  0x00007ffff3871ed2 in ?? () from /home/boud/dev/deps/lib/libQt5Core.so.5
#5  0x00007ffff386d752 in ?? () from /home/boud/dev/deps/lib/libQt5Core.so.5
#6  0x00007fffed7966db in start_thread (arg=0x7fffa560b700) at pthread_create.c:463
#7  0x00007ffff2f5388f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
Comment 2 Tiar 2019-03-12 18:01:38 UTC
Created attachment 118751 [details]
Test file to test behaviour when transforming a pass-through group

Using the test file I posted, you can clearly see what behaviour Transform Tool has when used on pass-through and normal groups. (Pass-through groups will only work when I push the changes).
Comment 3 Tiar 2019-03-12 19:00:06 UTC
Git commit f4ecc4f059bb357ee0503a06e4c4fa1d0d6713c1 by Agata Cacko.
Committed on 12/03/2019 at 18:59.
Pushed by tymond into branch 'master'.

Fix Transform Tool crash on pass-through groups

Before when you tried to transform a group layer
with pass-through mode enabled, Krita crashed.
After this commit, Krita doesn't crash.
The preview for the transform tool in this case
is the same as it would be for a standard group.

M  +7    -0    plugins/tools/tool_transform2/strokes/transform_stroke_strategy.cpp

https://commits.kde.org/krita/f4ecc4f059bb357ee0503a06e4c4fa1d0d6713c1