Bug 298719

Summary: Layer > mirror on a group layer corrupts the document
Product: [Applications] krita Reporter: Jean-Baptiste Mardelle <jb>
Component: Tools/TransformAssignee: Krita Bugs <krita-bugs-null>
Status: RESOLVED FIXED    
Severity: normal CC: halla
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Jean-Baptiste Mardelle 2012-04-24 07:24:11 UTC
Using the layer mirror feature on a group layer corrupts the document, you cannot draw anymore, cannot show / hide layers, etc

Reproducible: Always

Steps to Reproduce:
1.Create a group layer and add a new layer to the group
2.Draw something
3.Select the layer group, and apply the "Layer" > "Mirror horizontally"
Actual Results:  
The mirror effect does not work and the document is corrupted: hiding / showing the layer does not work anymore, drawing does not work anymore...

Expected Results:  
Should mirror all layers in the group
Comment 1 Halla Rempt 2012-04-27 11:44:54 UTC
Hi Jean-Baptiste,

Thanks for your report. I can confirm the issue.
Comment 2 Sven Langkamp 2012-07-12 09:48:00 UTC
Git commit 6e06c169b14b903f32280669369d83408474afaf by Sven Langkamp.
Committed on 12/07/2012 at 11:30.
Pushed by langkamp into branch 'master'.

moved mirroring code to a node visitor. This fixes mirroring of group layers and local selections.
Also removes duplicated code from layer and mask manager and puts it into the node manager.

Using selections is disabled for now as that produces some problems. Mirroring shape selections still not working.
Related: bug 303379

M  +1    -0    krita/ui/CMakeLists.txt
M  +1    -76   krita/ui/kis_layer_manager.cc
M  +0    -2    krita/ui/kis_layer_manager.h
M  +0    -44   krita/ui/kis_mask_manager.cc
M  +0    -10   krita/ui/kis_mask_manager.h
A  +156  -0    krita/ui/kis_mirror_visitor.cpp     [License: GPL (v2+)]
A  +48   -0    krita/ui/kis_mirror_visitor.h     [License: GPL (v2+)]
M  +29   -4    krita/ui/kis_node_manager.cpp
M  +2    -0    krita/ui/kis_node_manager.h

http://commits.kde.org/calligra/6e06c169b14b903f32280669369d83408474afaf
Comment 3 T Zachmann 2012-07-25 16:38:28 UTC
Git commit a5bc1bd8100f24624f767fd4eb8d19a100bf5c83 by Thorsten Zachmann, on behalf of Sven Langkamp.
Committed on 12/07/2012 at 11:30.
Pushed by zachmann into branch 'calligra/2.5'.

moved mirroring code to a node visitor. This fixes mirroring of group layers and local selections.

Also removes duplicated code from layer and mask manager and puts it into the node manager.

Using selections is disabled for now as that produces some problems. Mirroring shape selections still not working.
Related: bug 303379
(cherry picked from commit 6e06c169b14b903f32280669369d83408474afaf)

M  +1    -0    krita/ui/CMakeLists.txt
M  +1    -76   krita/ui/kis_layer_manager.cc
M  +0    -2    krita/ui/kis_layer_manager.h
M  +0    -44   krita/ui/kis_mask_manager.cc
M  +0    -10   krita/ui/kis_mask_manager.h
A  +156  -0    krita/ui/kis_mirror_visitor.cpp     [License: GPL (v2+)]
A  +48   -0    krita/ui/kis_mirror_visitor.h     [License: GPL (v2+)]
M  +29   -4    krita/ui/kis_node_manager.cpp
M  +2    -0    krita/ui/kis_node_manager.h

http://commits.kde.org/calligra/a5bc1bd8100f24624f767fd4eb8d19a100bf5c83