Bug 438398 - Transform tool bugs
Summary: Transform tool bugs
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Applications
Component: Tools/Transform (other bugs)
Version First Reported In: nightly build (please specify the git hash!)
Platform: Compiled Sources All
: NOR normal
Target Milestone: ---
Assignee: Dmitry Kazakov
URL:
Keywords: regression, release_blocker
: 440165 (view as bug list)
Depends on:
Blocks:
 
Reported: 2021-06-10 10:47 UTC by acc4commissions
Modified: 2021-08-06 12:56 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description acc4commissions 2021-06-10 10:47:17 UTC
SUMMARY


STEPS TO REPRODUCE
1. Disable In stack Transform Preview.
2. Open a document, draw something, Transform it and apply.

OBSERVED RESULT
- The layer contents appear empty.
- After turning on/off layer visibility, contents appears, but the projections of the original(before transforming) remain on the canvas

EXPECTED RESULT


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

ADDITIONAL INFORMATION
Comment 1 acc4commissions 2021-06-10 10:48:21 UTC
Forgot to add the version : 
5.0 prealpha git c4e3b84
Comment 2 acc4commissions 2021-06-15 15:26:25 UTC
I'm not sure it's related but the exact same thing happens when undoing transforming (with the new method)
Comment 3 Lynx3d 2021-06-27 17:59:23 UTC
I can confirm both, without in-stack preview the transformed area disappears when applying, with in-stack preview it disappeared after an undo.

I'm not sure if this is a somewhat recent regression, but I've used the new transform preview quite a few times and only just now had this issue and saw there's already a bug report (first time trying to do some serious work in a few weeks though).

This is on Ubuntu 20.04, master at 7acaa2ac42cab967be92443b696635df9dac93af
Comment 4 Dmitry Kazakov 2021-07-10 14:17:39 UTC
Git commit 4eb4338fd2ec3e78b77deb161834fd52f99e7e72 by Dmitry Kazakov.
Committed on 10/07/2021 at 14:16.
Pushed by dkazakov into branch 'master'.

Fix updates in the legacy preview mode of the transform tool

M  +8    -6    plugins/tools/tool_transform2/strokes/transform_stroke_strategy.cpp

https://invent.kde.org/graphics/krita/commit/4eb4338fd2ec3e78b77deb161834fd52f99e7e72
Comment 5 Dmitry Kazakov 2021-07-10 14:35:08 UTC
Okay, this bug is still here: 

> with in-stack preview it disappeared after an undo.
Comment 6 Dmitry Kazakov 2021-07-12 13:28:44 UTC
Git commit 6010423ce029ec0d690435d31bcf270372ff202d by Dmitry Kazakov.
Committed on 12/07/2021 at 13:27.
Pushed by dkazakov into branch 'master'.

Fix updates when undoing transformation made in "inplace" mode

1) The undo-stage update should happen not in reapplyTransform(),
   but before the actual "clear" operation. Otherwise we'll either
   get no or duplicated updates.

2) The patch also removed code duplication between the two
   transformation mode. Now the update compression algorithm
   is implemented in a separate KisBatchNodeUpdate class.

M  +1    -0    libs/image/CMakeLists.txt
A  +80   -0    libs/image/KisBatchNodeUpdate.cpp     [License: GPL(v2.0+)]
A  +78   -0    libs/image/KisBatchNodeUpdate.h     [License: GPL(v2.0+)]
M  +2    -2    libs/image/commands_new/KisUpdateCommandEx.cpp
M  +4    -7    libs/image/commands_new/KisUpdateCommandEx.h
M  +25   -38   plugins/tools/tool_transform2/strokes/inplace_transform_stroke_strategy.cpp
M  +1    -1    plugins/tools/tool_transform2/strokes/inplace_transform_stroke_strategy.h
M  +8    -32   plugins/tools/tool_transform2/strokes/transform_stroke_strategy.cpp
M  +1    -1    plugins/tools/tool_transform2/strokes/transform_stroke_strategy.h

https://invent.kde.org/graphics/krita/commit/6010423ce029ec0d690435d31bcf270372ff202d
Comment 7 Dmitry Kazakov 2021-07-14 11:30:49 UTC
Git commit abad075282add0389f4a4544a339e07469f3ab3d by Dmitry Kazakov, on behalf of L. E. Segovia.
Committed on 14/07/2021 at 11:30.
Pushed by dkazakov into branch 'master'.

KisBatchNodeUpdate: fix constructor and bitwise OR

- MSVC warns that the constructor taking an instance of the superclass
is infinitely recursive (C4717). Fix it by calling the superclass's
instead.

- boost::orable, at least on 1.71, requires a definition of the |= operator.

M  +28   -1    libs/image/KisBatchNodeUpdate.cpp
M  +5    -1    libs/image/KisBatchNodeUpdate.h

https://invent.kde.org/graphics/krita/commit/abad075282add0389f4a4544a339e07469f3ab3d
Comment 8 Lynx3d 2021-08-06 12:56:21 UTC
*** Bug 440165 has been marked as a duplicate of this bug. ***