Bug 363178 - Some brush settings can change weirdly when using toolbar sliders or shift-drag resize
Summary: Some brush settings can change weirdly when using toolbar sliders or shift-dr...
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Applications
Component: Brush engines (show other bugs)
Version: git master (please specify the git hash!)
Platform: Other Linux
: NOR major
Target Milestone: ---
Assignee: Krita Bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-05-17 12:00 UTC by animtim
Modified: 2016-05-26 12:37 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 animtim 2016-05-17 12:00:09 UTC
I noticed this bug very similar with two very different brush presets.

1st preset bug: 
-Launch krita. Create new document.  Draw a line with any preset.
Select Smudge_textured preset. Look at its outline. Now resize it or just change its opacity using either the toolbar sliders or shift-drag resize. The outline changes to a different tip shape.
Make sure to see the outline of the brush to see more clearly the issue, and also to not open the brush editor.

Now if you select another preset and select again Smudge_textured, it reloads properly its settings.
Check in the brush editor: the predefined brush name is the right one (3_eroded), but the first entry in the list is highlighted (2B pencil Grain 2b), which is the one that is loaded after modifying the brush.

2nd preset bug:
-Launch Krita. Create new document. Select Spray_splat preset.
Draw a line with it to see the particle size. Change its opacity or size using the toolbar sliders or shift-drag. Draw again: see the particles have a different size.

If you look then in the brush editor, in the second Spray shape tab, width is set to 1px and height to 6px.
If I select another preset and then Spray_splat again, the Spray shape width value is properly set to 6px in the brush editor. (Note: if I only hit reload button instead of switching brush engine, the width value wrongly stays at 1px in the editor, but it paints properly as if it was at 6px..)

Also, this second bug only happens as long as you don't open the brush editor. After, it stops happening.

Reproducible: Always
Comment 1 Dmitry Kazakov 2016-05-17 16:37:30 UTC
Git commit 6f75b0fd3ef58c1907e97afcd38b844671737f19 by Dmitry Kazakov.
Committed on 17/05/2016 at 16:37.
Pushed by dkazakov into branch 'master'.

Disable my predefined brushes fix because it causes a weird bug when changing any brush option

M  +2    -1    libs/brush/kis_predefined_brush_factory.cpp

http://commits.kde.org/krita/6f75b0fd3ef58c1907e97afcd38b844671737f19
Comment 2 Camille Bissuel 2016-05-24 13:42:24 UTC
Is this fixed ?
Comment 3 animtim 2016-05-24 13:58:46 UTC
The first part about predefined brush bug is fixed since dmitry reverted the patch that introduced it.

The second part about spray brush is not fixed, but is less annoying and easy to workaround in the meantime.
Comment 4 Dmitry Kazakov 2016-05-26 12:37:05 UTC
Git commit bb5892d49250e59c0be084a49142c280bcfd9fa0 by Dmitry Kazakov.
Committed on 26/05/2016 at 12:36.
Pushed by dkazakov into branch 'master'.

Force the paintops to copy the brush when the stroke is started

M  +3    -1    libs/brush/kis_auto_brush_factory.cpp
M  +1    -1    libs/brush/kis_auto_brush_factory.h
M  +2    -2    libs/brush/kis_brush.cpp
M  +1    -1    libs/brush/kis_brush.h
M  +1    -1    libs/brush/kis_brush_factory.h
M  +2    -2    libs/brush/kis_brush_registry.cpp
M  +1    -1    libs/brush/kis_brush_registry.h
M  +5    -2    libs/brush/kis_predefined_brush_factory.cpp
M  +1    -1    libs/brush/kis_predefined_brush_factory.h
M  +3    -1    libs/brush/kis_text_brush_factory.cpp
M  +1    -1    libs/brush/kis_text_brush_factory.h
M  +1    -1    plugins/paintops/hairy/kis_hairy_paintop.cpp
M  +2    -2    plugins/paintops/libpaintop/kis_brush_based_paintop.cpp
M  +2    -2    plugins/paintops/libpaintop/kis_brush_option.cpp
M  +1    -1    plugins/paintops/libpaintop/kis_brush_option.h
M  +1    -1    plugins/paintops/libpaintop/kis_brush_option_widget.cpp
M  +1    -1    plugins/paintops/sketch/kis_sketch_paintop.cpp
M  +1    -1    plugins/paintops/spray/kis_spray_paintop.cpp

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