Bug 396427 - Odd/left over rendering in locked layers after using transform tool a second time on layer group
Summary: Odd/left over rendering in locked layers after using transform tool a second ...
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Applications
Component: Tools/Transform (show other bugs)
Version: git master (please specify the git hash!)
Platform: Compiled Sources macOS
: NOR normal
Target Milestone: ---
Assignee: Dmitry Kazakov
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-07-12 03:29 UTC by vanyossi
Modified: 2018-09-24 15:56 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
group one locked one not locked (873.46 KB, application/x-krita)
2018-07-12 03:29 UTC, vanyossi
Details
Odd rendering after move tool (200.17 KB, image/png)
2018-07-12 03:32 UTC, vanyossi
Details

Note You need to log in before you can comment on or make changes to this bug.
Description vanyossi 2018-07-12 03:29:24 UTC
Created attachment 113892 [details]
group one locked one not locked

Transform tool and locked layers render improperly for groups with locked layers. The locked layer will be render in the preview as transformable but the pixels will not update (as probably is expected). The odd thing comes in the second transform: the locked layer will render as if it was transformed previouly.

Steps to reproduce:
Using the file provided
1. transform tool, do any transformation on the group layer (this has locked and unlocked layers).
2. apply transformation
3. Activate transform tool again on the group layer

Result:
The locked layer will render the preview in transform tool as if it was transformed in the previous transformation.

This odd rendering will stay for the duration of the session.

It also happens after using the move tool. Using the file provided move the group such as the black shape to the top such as it dissapears (it also works to move it so it touches the four corners). It's not necessary for the shape to dissapear but it makes the effect more easily achievable.
Comment 1 vanyossi 2018-07-12 03:32:14 UTC
Created attachment 113893 [details]
Odd rendering after move tool

After using move tool certain moves makes the rendering on the locked layer show a ghost in the transform tool preview.
Comment 2 Dmitry Kazakov 2018-09-24 15:56:01 UTC
Git commit 5f84aae95f5b059895e1d90e30b5ac23275b2879 by Dmitry Kazakov.
Committed on 24/09/2018 at 15:39.
Pushed by dkazakov into branch 'master'.

Make transform tool preview be rendered asynchronously

That was needed to allow transform stroke to rerender some part
of the image to get group's projection with locked layers hidden.

M  +1    -0    libs/global/CMakeLists.txt
A  +9    -0    libs/global/KisDeleteLaterWrapper.cpp     [License: UNKNOWN]  *
A  +48   -0    libs/global/KisDeleteLaterWrapper.h     [License: UNKNOWN]  *
M  +11   -3    libs/ui/flake/kis_shape_layer_canvas.cpp
M  +71   -45   plugins/tools/tool_transform2/kis_tool_transform.cc
M  +4    -1    plugins/tools/tool_transform2/kis_tool_transform.h
M  +108  -71   plugins/tools/tool_transform2/strokes/transform_stroke_strategy.cpp
M  +14   -7    plugins/tools/tool_transform2/strokes/transform_stroke_strategy.h

The files marked with a * at the end have a non valid license. Please read: https://community.kde.org/Policies/Licensing_Policy and use the headers which are listed at that page.


https://commits.kde.org/krita/5f84aae95f5b059895e1d90e30b5ac23275b2879