Bug 437997 - Gradients created in the gradient fill layer editor are not saved
Summary: Gradients created in the gradient fill layer editor are not saved
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Applications
Component: Resource Management (show other bugs)
Version: git master (please specify the git hash!)
Platform: Manjaro Linux
: NOR normal
Target Milestone: ---
Assignee: Krita Bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-06-02 12:58 UTC by Deif Lou
Modified: 2021-07-27 11:00 UTC (History)
1 user (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Deif Lou 2021-06-02 12:58:27 UTC
I report here 3 issues with the generic gradient editor that may be related.

ISSUE 1
=======

SUMMARY
Krita sometimes fails to add a new gradient to the resources via the "+" button in the generic gradient editor.
It seems to happen only with segment gradients, stop gradients seem to be copied ok.

STEPS TO REPRODUCE
1. Open Krita, create an image and add a gradient fill layer
2. In the fill layer dialog activate the "Gradient Colors" tab
3. Choose a segment gradient, modify it if you want and then click the "add gradient" button

OBSERVED RESULT
A new copy of the gradient is not added to the presets.

EXPECTED RESULT
A new copy of the gradient is added to the presets.

ISSUE 2
=======

SUMMARY
Updating a segment gradient in the generic gradient editor seems to work ok, but the thumbnail is not updated/regenerated. Sometimes it seems to update but with the thumbnail for the previous version (hard to reproduce consistently). If the gradient is a stop gradient the thumbnail is updated.

STEPS TO REPRODUCE
1. Open Krita, create an image and add a gradient fill layer
2. In the fill layer dialog activate the "Gradient Colors" tab
3. Choose a segment gradient, modify it and click the "update gradient" button
3. Repeat more times step 3 with the same gradient. Sometimes the thumbnail is updated with the previous version

OBSERVED RESULT
The gradient seems to be updated but the thumbnail doesn't.

EXPECTED RESULT
Both the gradient and the thumbnail are updated.

ISSUE 3
=======

SUMMARY
Another issue is a crash that happens when we update a gradient first and then we try to add a new one based on that updated gradient. This happens with both gradient types. The output is: 
ASSERT: "resource->version() <= 0" in file [...]/libs/resources/KisResourceLocator.cpp, line 346

STEPS TO REPRODUCE
1. Open Krita, create an image and add a gradient fill layer
2. In the fill layer dialog activate the "Gradient Colors" tab
3. Choose a gradient, modify it and click the "update gradient" button
4. Click the "add gradient" button

OBSERVED RESULT
Krita crashes.

EXPECTED RESULT
A new copy of the gradient is added to the presets.

SOFTWARE/OS VERSIONS
Operating System: Manjaro Linux
KDE Plasma Version: 5.21.5
KDE Frameworks Version: 5.82.0
Qt Version: 5.15.2
Comment 1 Halla Rempt 2021-07-27 10:38:10 UTC
Git commit a65d880f8051e69edc384c9b75046c9c74f0b337 by Halla Rempt.
Committed on 27/07/2021 at 10:38.
Pushed by rempt into branch 'master'.

Make it possible to save gradients under a new name

The file name should also, of course, be changed.

M  +6    -2    libs/ui/widgets/gradient/KisGenericGradientEditor.cpp
M  +2    -0    libs/ui/widgets/gradient/KisSegmentGradientEditor.cpp
M  +1    -0    libs/ui/widgets/gradient/KisSegmentGradientEditor.h
M  +1    -0    libs/ui/widgets/gradient/KisStopGradientEditor.cpp

https://invent.kde.org/graphics/krita/commit/a65d880f8051e69edc384c9b75046c9c74f0b337
Comment 2 Halla Rempt 2021-07-27 10:39:03 UTC
I havent looked into '2' yet, but 1) and 3) are fixed now.
Comment 3 Halla Rempt 2021-07-27 11:00:09 UTC
Git commit 17cfb089ac0e66b93e669e35d42c7d4d57fef5f8 by Halla Rempt.
Committed on 27/07/2021 at 10:59.
Pushed by rempt into branch 'master'.

Update the preview when editing/adding a gradient

M  +2    -0    libs/ui/kis_control_frame.cpp
M  +2    -0    libs/ui/widgets/gradient/KisGenericGradientEditor.cpp

https://invent.kde.org/graphics/krita/commit/17cfb089ac0e66b93e669e35d42c7d4d57fef5f8