Bug 369532 - Can't "use color as mask" on newly created brush tips - Krita 3.0.1.1
Summary: Can't "use color as mask" on newly created brush tips - Krita 3.0.1.1
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Applications
Component: Brush engines (show other bugs)
Version: 3.0.1
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: Dmitry Kazakov
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-09-29 13:14 UTC by Nathan GDquest
Modified: 2016-10-18 18:12 UTC (History)
1 user (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 Nathan GDquest 2016-09-29 13:14:01 UTC
In Krita 3.0.1.1, with a newly stamped brush tip, Clicking the "use color as mask" checkbox has no effect. The checkbox gets ticked, but as soon as you leave the brush editing window, it gets unchecked. Also, the brush tip still draws as an opaque black and white image.

I moved the .gbr files to another computer running Krita 3.0, and was able to properly change the parameter, save a preset, and move it back to my main workstation. So this seems to be specific to 3.0.1.1.
Comment 1 Dmitry Kazakov 2016-10-18 15:20:15 UTC
Basically, no options that are placed below the preset chooser work and are reset on every editor opening :(
Comment 2 Dmitry Kazakov 2016-10-18 18:12:58 UTC
Git commit b46e7db264c8aaf111c89cbe2d3128f2d1041ca4 by Dmitry Kazakov.
Committed on 18/10/2016 at 17:59.
Pushed by dkazakov into branch 'master'.

Fix the Predefined Brushes

The problem is that we share a single KisBrush object across the entire
Krita. Therefore, if we start writing into the settings object and some
other code will get notifications that "something has changed", that other
location may override some settings in the shared KisBrush. Therefore we
will continue to write wrong values to the brush.

Therefore now we postpone all the updates of the settings object until the
entire write operation is completed. The postponing is implemented using a
special KisPaintOpPreset::UpdatedPostponer class that uses the interface
of updates proxy to do the stuff

Fixes T3925

M  +15   -0    libs/image/brushengine/kis_paintop_preset.cpp
M  +14   -0    libs/image/brushengine/kis_paintop_preset.h
M  +34   -2    libs/image/brushengine/kis_paintop_settings_update_proxy.cpp
M  +17   -0    libs/image/brushengine/kis_paintop_settings_update_proxy.h
M  +12   -1    libs/ui/kis_paintop_box.cc

http://commits.kde.org/krita/b46e7db264c8aaf111c89cbe2d3128f2d1041ca4