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
I can confirm this behavior on the git master branch too. Built on a arch machine with all packages up to date.
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
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