Bug 298719 - Layer > mirror on a group layer corrupts the document
Summary: Layer > mirror on a group layer corrupts the document
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Applications
Component: Tools/Transform (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR normal
Target Milestone: ---
Assignee: Krita Bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-04-24 07:24 UTC by Jean-Baptiste Mardelle
Modified: 2012-07-25 16:38 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
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