Bug 420919

Summary: Transormation tool should not allow to be used over vector layers, and inform to use transform mask instead
Product: [Applications] krita Reporter: Seth <s.freeman1>
Component: Tools/TransformAssignee: Dmitry Kazakov <dimula73>
Status: RESOLVED FIXED    
Severity: normal CC: dimula73, ghevan, rebecca, tamtamy.tymona
Priority: NOR    
Version: 4.2.9   
Target Milestone: ---   
Platform: Microsoft Windows   
OS: Microsoft Windows   
Latest Commit: Version Fixed In:

Description Seth 2020-05-02 20:17:15 UTC
SUMMARY
When I apply the warp transformation to an circle, the circle disappears when I hit apply.  If I select another tool the warp is reverted and the circle reappears


STEPS TO REPRODUCE
1. Draw a circle in a vector layer
2. Apply warp changes and then apply
3. select any other transformation process to make object appear again, but untransformed

OBSERVED RESULT


EXPECTED RESULT


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

ADDITIONAL INFORMATION
Comment 1 vanyossi 2020-05-03 23:48:03 UTC
You cannot apply the transformation to a vector layer as it is a raster based operation. Use a transformation mask to make the transformation on the vector layer, or transform the vector layer into a paint layer before using the transform tool.

the bug here is that the tool is not informing that it cannot be used over a vector layer.
Comment 2 Tiar 2020-05-04 00:19:05 UTC
Note: Transform Tool *can* be used for vector tools as long as it's Free Transform or Perspective Transform.
Comment 3 Rebecca Breu 2020-05-07 16:01:19 UTC
Related bug:

https://bugs.kde.org/show_bug.cgi?id=419758
Comment 4 Dmitry Kazakov 2020-08-26 11:46:12 UTC
Git commit 1426cc0abe3c7dcf90900bb2c6ae20df07c28fa4 by Dmitry Kazakov.
Committed on 26/08/2020 at 11:46.
Pushed by dkazakov into branch 'krita/4.3'.

Don't let transform tool use non-affine transforms on vector layers

The stroke checked the mode on its start, but it was possible to enter
invalid state by switching the mode after starting of the stroke.

Now the stroke is cancelled if the mode has changed after its start
into invalid value.
Related: bug 419758

M  +33   -8    plugins/tools/tool_transform2/kis_tool_transform.cc
M  +2    -1    plugins/tools/tool_transform2/kis_tool_transform.h
M  +6    -17   plugins/tools/tool_transform2/kis_tool_transform_config_widget.cpp
M  +2    -1    plugins/tools/tool_transform2/kis_tool_transform_config_widget.h
M  +21   -0    plugins/tools/tool_transform2/strokes/transform_stroke_strategy.cpp
M  +4    -0    plugins/tools/tool_transform2/strokes/transform_stroke_strategy.h

https://invent.kde.org/graphics/krita/commit/1426cc0abe3c7dcf90900bb2c6ae20df07c28fa4
Comment 5 Dmitry Kazakov 2020-08-26 11:46:31 UTC
Git commit 3ba9c3309e251b05cfd14ecc59dc0c6603e524ab by Dmitry Kazakov.
Committed on 26/08/2020 at 11:46.
Pushed by dkazakov into branch 'master'.

Don't let transform tool use non-affine transforms on vector layers

The stroke checked the mode on its start, but it was possible to enter
invalid state by switching the mode after starting of the stroke.

Now the stroke is cancelled if the mode has changed after its start
into invalid value.
Related: bug 419758

M  +33   -8    plugins/tools/tool_transform2/kis_tool_transform.cc
M  +2    -1    plugins/tools/tool_transform2/kis_tool_transform.h
M  +6    -17   plugins/tools/tool_transform2/kis_tool_transform_config_widget.cpp
M  +2    -1    plugins/tools/tool_transform2/kis_tool_transform_config_widget.h
M  +21   -0    plugins/tools/tool_transform2/strokes/transform_stroke_strategy.cpp
M  +4    -0    plugins/tools/tool_transform2/strokes/transform_stroke_strategy.h

https://invent.kde.org/graphics/krita/commit/3ba9c3309e251b05cfd14ecc59dc0c6603e524ab