SUMMARY Using transform tool on a vector layer causes the layer to appear invisible. STEPS TO REPRODUCE 1. Attempted to use liquify tool. 2. Pressing "apply" causes the layer to disappear. 3. Any other transformation does the same. OBSERVED RESULT EXPECTED RESULT SOFTWARE/OS VERSIONS Windows: macOS: Linux/KDE Plasma: (available in About System) KDE Plasma Version: KDE Frameworks Version: Qt Version: ADDITIONAL INFORMATION
I can confirm this. It happens with all transform modes except the regular "Free" transform. After applying the transformation, the layer turns invisible without being marked invisible. You can turn visibility off and on again to get the layer back, though you will see that the transformation hasn't applied and the layer is back in its original state. Which of the other transformation modes can we expect to work on vector layers anyway? Maybe some of them need to be disabled? Playing some more with it, I also found the following: Once I've transformed a vector layer with the "Free" transform and applied it, and activate the transform tool again, I can't switch to the other transform modes because get a "can't transform on an empty layer" popup, even though the layer isn't empty and I can still use the "Free" transform. So if that's already an attempt to block some of the transform tools on vector layers, it's the wrong error message and should probably also disallow other transform modes from the start?
Weird, I cannot reproduce the invisibility issue.
Huh, I get it all the time with the 4.2.9 appimage and the recent master build in docker, no matter what I try. I'm attaching my system info in case that helps (this one is for the master/docker build). Krita Version: 5.0.0-prealpha (git 90d05a3) Languages: en_US, en, en_US, en Hidpi: false Qt Version (compiled): 5.12.7 Version (loaded): 5.12.7 OS Information Build ABI: x86_64-little_endian-lp64 Build CPU: x86_64 CPU: x86_64 Kernel Type: linux Kernel Version: 4.9.0-11-amd64 Pretty Productname: Ubuntu 16.04.6 LTS Product Type: ubuntu Product Version: 16.04 Desktop: OpenGL Info Vendor: "Intel Open Source Technology Center" Renderer: "Mesa DRI Intel(R) HD Graphics 630 (Kaby Lake GT2) " Version: "3.0 Mesa 18.0.5" Shading language: "1.30" Requested format: QSurfaceFormat(version 3.0, options QFlags<QSurfaceFormat::FormatOption>(DeprecatedFunctions), depthBufferSize 24, redBufferSize 8, greenBufferSize 8, blueBufferSize 8, alphaBufferSize 8, stencilBufferSize 8, samples -1, swapBehavior QSurfaceFormat::DoubleBuffer, swapInterval 0, colorSpace QSurfaceFormat::DefaultColorSpace, profile QSurfaceFormat::CompatibilityProfile) Current format: QSurfaceFormat(version 3.0, options QFlags<QSurfaceFormat::FormatOption>(DeprecatedFunctions), depthBufferSize 24, redBufferSize 8, greenBufferSize 8, blueBufferSize 8, alphaBufferSize 8, stencilBufferSize 8, samples -1, swapBehavior QSurfaceFormat::DoubleBuffer, swapInterval 0, colorSpace QSurfaceFormat::DefaultColorSpace, profile QSurfaceFormat::NoProfile) Version: 3.0 Supports deprecated functions true is OpenGL ES: false QPA OpenGL Detection Info supportsDesktopGL: true supportsOpenGLES: true isQtPreferOpenGLES: false Hardware Information GPU Acceleration: auto Memory: 15796 Mb Number of Cores: 4 Swap Location: /tmp Current Settings Current Swap Location: /tmp Current Swap Location writable: true Undo Enabled: true Undo Stack Limit: 30 Use OpenGL: true Use OpenGL Texture Buffer: true Use AMD Vectorization Workaround: false Canvas State: OPENGL_SUCCESS Autosave Interval: 900 Use Backup Files: true Number of Backups Kept: 1 Backup File Suffix: ~ Backup Location: Same Folder as the File Backup Location writable: false Use Win8 Pointer Input: false Use RightMiddleTabletButton Workaround: false Levels of Detail Enabled: false Use Zip64: false Display Information Number of screens: 1 Screen: 0 Name: eDP-1 Depth: 24 Scale: 1 Resolution in pixels: 2560x1440 Manufacturer: AU Optronics Model: Refresh Rate: 60
Related bug: https://bugs.kde.org/show_bug.cgi?id=420919
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 420919 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
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 420919 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