Bug 393617

Summary: Transform Tool doesn't effect the Hidden Layers inside a Group as expected.
Product: [Applications] krita Reporter: gm.ravnevand
Component: Layer StackAssignee: Dmitry Kazakov <dimula73>
Status: RESOLVED FIXED    
Severity: normal CC: halla, info
Priority: NOR    
Version First Reported In: 4.0.1   
Target Milestone: ---   
Platform: Microsoft Windows   
OS: Microsoft Windows   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description gm.ravnevand 2018-04-28 17:09:50 UTC
Transform tools don't seem to effect hidden layers as expected.

Reproducible: Always

Steps to Reproduce:
Case 1:
1. Create group layer.
2. Create 2 paint layers (A and B) inside group layer.
3. Hide layer A.
4. Transform group layer.
5. Show layer A.

Actual Results:
Layer A retains it's old position, rotation and scale.

Expected Results:
Layer A should have be transformed along with layer B.

Case 2:
1. Create group layer.
2. Create 2 paint layers (A and B) inside group layer.
3. Hide layer A.
4. Transform group layer.
5. Show layer A.
6. Transform group layer again.

Actual Results:
Layer A updates to the new Transforms, but if then canvas is updated in any other way then with the Transform Tool between step 4 and 6, layer A retains the position, rotation and scale it had before it what hidden.


Expected Results:
Layer A should have be transformed along with layer B.
Comment 1 Halla Rempt 2018-04-28 18:14:43 UTC
I can confirm the issue, thanks for reporting.
Comment 2 Halla Rempt 2018-04-28 18:15:12 UTC
Dmitry, can you take a look?
Comment 3 David REVOY 2018-06-21 11:55:18 UTC
I confirm. Invisible (but non-locked) children layer of groups should be affected by group transformation.
Comment 4 Dmitry Kazakov 2018-06-21 13:59:44 UTC
Git commit 85a87b40429a15074d160d394f69e2b7affe49b6 by Dmitry Kazakov.
Committed on 21/06/2018 at 13:59.
Pushed by dkazakov into branch 'master'.

Fix continued transform of a group when some layers are hidden

When some layers of a group are hidden/locked, not all of the will
be transformed by the transform tool. We should not continue the
previous command if a set of layers is different.

M  +13   -8    plugins/tools/tool_transform2/kis_tool_transform.cc
M  +7    -2    plugins/tools/tool_transform2/strokes/transform_stroke_strategy.cpp
M  +3    -2    plugins/tools/tool_transform2/strokes/transform_stroke_strategy.h

https://commits.kde.org/krita/85a87b40429a15074d160d394f69e2b7affe49b6
Comment 5 Dmitry Kazakov 2018-06-21 13:59:44 UTC
Git commit a77a66997cdcc012d591bedb1429538c56da4783 by Dmitry Kazakov.
Committed on 21/06/2018 at 13:59.
Pushed by dkazakov into branch 'master'.

Transform invisible layers that are a part of a group

(don't transform invisible root layer, though)

M  +1    -1    plugins/tools/tool_transform2/kis_tool_transform.cc

https://commits.kde.org/krita/a77a66997cdcc012d591bedb1429538c56da4783
Comment 6 Halla Rempt 2018-06-25 07:58:30 UTC
Git commit 6d7e160dd66ed2de1b22d1d1db83c15791ce0f64 by Boudewijn Rempt, on behalf of Dmitry Kazakov.
Committed on 25/06/2018 at 07:57.
Pushed by rempt into branch 'krita/4.1'.

Fix continued transform of a group when some layers are hidden

When some layers of a group are hidden/locked, not all of the will
be transformed by the transform tool. We should not continue the
previous command if a set of layers is different.

M  +13   -8    plugins/tools/tool_transform2/kis_tool_transform.cc
M  +7    -2    plugins/tools/tool_transform2/strokes/transform_stroke_strategy.cpp
M  +3    -2    plugins/tools/tool_transform2/strokes/transform_stroke_strategy.h

https://commits.kde.org/krita/6d7e160dd66ed2de1b22d1d1db83c15791ce0f64
Comment 7 Halla Rempt 2018-06-25 08:16:53 UTC
Git commit 5fbadb60e8bda2d7f2358d18ca3e94857545e345 by Boudewijn Rempt, on behalf of Dmitry Kazakov.
Committed on 25/06/2018 at 07:57.
Pushed by rempt into branch 'krita/4.1'.

Transform invisible layers that are a part of a group

(don't transform invisible root layer, though)

M  +1    -1    plugins/tools/tool_transform2/kis_tool_transform.cc

https://commits.kde.org/krita/5fbadb60e8bda2d7f2358d18ca3e94857545e345
Comment 8 Andrey 2018-06-26 15:02:54 UTC
Git commit 733fd8f7459a923599aedaea27441ca0af41ba24 by Andrey Kamakin, on behalf of Dmitry Kazakov.
Committed on 26/06/2018 at 14:18.
Pushed by akamakin into branch 'akamakin/T8628-multithreading-optimization'.

Transform invisible layers that are a part of a group

(don't transform invisible root layer, though)

M  +1    -1    plugins/tools/tool_transform2/kis_tool_transform.cc

https://commits.kde.org/krita/733fd8f7459a923599aedaea27441ca0af41ba24
Comment 9 Andrey 2018-06-26 15:10:14 UTC
Git commit d493e57fc2fe0bd50f55adbdabf75f836fec3bd0 by Andrey Kamakin, on behalf of Dmitry Kazakov.
Committed on 26/06/2018 at 14:18.
Pushed by akamakin into branch 'akamakin/T8628-multithreading-optimization'.

Fix continued transform of a group when some layers are hidden

When some layers of a group are hidden/locked, not all of the will
be transformed by the transform tool. We should not continue the
previous command if a set of layers is different.

M  +13   -8    plugins/tools/tool_transform2/kis_tool_transform.cc
M  +7    -2    plugins/tools/tool_transform2/strokes/transform_stroke_strategy.cpp
M  +3    -2    plugins/tools/tool_transform2/strokes/transform_stroke_strategy.h

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