Bug 406427 - Brush Presets with a pattern are always marked as 'dirty'
Summary: Brush Presets with a pattern are always marked as 'dirty'
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Applications
Component: Resource Management (show other bugs)
Version: unspecified
Platform: Debian stable Linux
: NOR minor
Target Milestone: ---
Assignee: Tiar
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-04-11 07:42 UTC by Ahab Greybeard
Modified: 2019-09-14 15:26 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ahab Greybeard 2019-04-11 07:42:04 UTC
SUMMARY
If a brush preset has a pattern applied, that preset is always marked as 'dirty' in the brush preset docker and the brush editor always indicates that it has been changed from its default settings. If the brush editor is used to reload default settings or overwrite the preset, the 'dirty' indication is removed but it will return after the brush preset is used to paint on the canvas.

If the 'Temporarily Save tweaks To Presets' checkbox in the brush editor is unchecked, the 'dirty' indicator is removed but the brush editor still indicates that brush preset settings have been changed from the default.

STEPS TO REPRODUCE
1. Make a new brush preset by editing an existing brush preset and applying a pattern, then Save New Brush Preset with a suitable name.
2. Use the brush preset to paint on the canvas and note its icon in the brush presets docker.
3. Try to get rid of the 'dirty' indicator then use the brush preset to paint with.

OBSERVED RESULT
The behaviour is as noted in the Summary above.

EXPECTED RESULT
The brush preset should not be marked as dirty in the first place.

SOFTWARE/OS VERSIONS
This is observed on all appimages from 4.1.7 onwards.

ADDITIONAL INFORMATION
This was discussed in slightly more detail here: https://forum.kde.org/viewtopic.php?f=139&t=160207
Comment 1 Quiralta 2019-04-16 04:15:19 UTC
I can confirm this behavior on the git master branch too.

Built on a arch machine with all packages up to date.
Comment 2 Tiar 2019-09-12 14:29:30 UTC
Git commit e98daba8c8feb930fdc4c61c8891ae97cd75f7fa by Agata Cacko.
Committed on 12/09/2019 at 14:27.
Pushed by tymond into branch 'master'.

Fix presets with random offset of texture marked dirty

Before this commit, if a preset had at least one random offset (X or Y)
in texture settings (and texture enabled), it was marked dirty as soon
as the user used this brush on the canvas. That was happenning because
random offset just means that the offset of the texture is set
to a new random one after every stroke. Setting a property to a new value
marked preset as dirty.
This commit ensures that in this case te preset is not set to dirty
(it just disables dirty notifications while the new offset is set).

M  +3    -1    libs/image/brushengine/kis_paintop_settings.cpp

https://invent.kde.org/kde/krita/commit/e98daba8c8feb930fdc4c61c8891ae97cd75f7fa
Comment 3 Tiar 2019-09-14 15:26:23 UTC
Git commit 26d44c9842ae4ef54034fa8d57107c8a5140531b by Agata Cacko.
Committed on 14/09/2019 at 15:25.
Pushed by tymond into branch 'krita/4.2'.

Fix presets with random offset of texture marked dirty

Before this commit, if a preset had at least one random offset (X or Y)
in texture settings (and texture enabled), it was marked dirty as soon
as the user used this brush on the canvas. That was happenning because
random offset just means that the offset of the texture is set
to a new random one after every stroke. Setting a property to a new value
marked preset as dirty.
This commit ensures that in this case te preset is not set to dirty
(it just disables dirty notifications while the new offset is set).

M  +3    -1    libs/image/brushengine/kis_paintop_settings.cpp

https://invent.kde.org/kde/krita/commit/26d44c9842ae4ef54034fa8d57107c8a5140531b