Bug 329561

Summary: [Color Smudge Brush] problem in stroke rendering, jump of values during the stroke
Product: [Applications] krita Reporter: David REVOY <info>
Component: Brush enginesAssignee: Krita Bugs <krita-bugs-null>
Status: RESOLVED FIXED    
Severity: normal    
Priority: NOR    
Version: 2.8 Pre-Alpha   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In:
Attachments: screenshot of the bug

Description David REVOY 2014-01-03 12:04:30 UTC
Created attachment 84428 [details]
screenshot of the bug

A render issue  in the 'Color Smudge Brush' with dulling. Confirmed by user Dandyfloss on IRC using 'master'. Here I'm on branch 2.8  

To reproduce :
============
1) Open a background with different area of colors ( ex: https://commons.wikimedia.org/wiki/File:Ducks,_ducks,_ducks,_Aachen,_Germany.jpg ) 
2) Use a 'Color Smudge Brush' preset as ' Basic Rounded Wet ' ( icon representing a stylus with a white drop and a blue stroke  ) 
3) Select a white color , and a low size ( 10px or 15px , lower brush tend to increase the bug frequencies )
4) Paint strokes on the picture 'S' shaped , going faster and faster, and with various pressure intensity. 

Observations :
============
* Sometime, the bug happen ( see picture in attachment )  ; the stroke as sort of 'pressure sensor jumps' ; making not smooth effect in the line ( marked with 'X' ).
Comment 1 Dmitry Kazakov 2014-01-05 14:37:25 UTC
Git commit 1daaebc792ccad1a05f1a036c154e31a8be17879 by Dmitry Kazakov.
Committed on 05/01/2014 at 14:36.
Pushed by dkazakov into branch 'master'.

Fix Color Smudge op in Dulling mode

We must not store reading random accessors when someone else in writing to
the same device, because the cache of the random accessor will become
outdated.

M  +13   -0    krita/image/kis_cross_device_color_picker.h
M  +6    -3    krita/plugins/paintops/colorsmudge/kis_colorsmudgeop.cpp
M  +0    -2    krita/plugins/paintops/colorsmudge/kis_colorsmudgeop.h

http://commits.kde.org/calligra/1daaebc792ccad1a05f1a036c154e31a8be17879
Comment 2 Dmitry Kazakov 2014-01-05 14:38:03 UTC
Git commit f57b2d9247068f26b90dd756ed2243195fdfb6e9 by Dmitry Kazakov.
Committed on 05/01/2014 at 14:36.
Pushed by dkazakov into branch 'calligra/2.8'.

Fix Color Smudge op in Dulling mode

We must not store reading random accessors when someone else in writing to
the same device, because the cache of the random accessor will become
outdated.

M  +13   -0    krita/image/kis_cross_device_color_picker.h
M  +6    -3    krita/plugins/paintops/colorsmudge/kis_colorsmudgeop.cpp
M  +0    -2    krita/plugins/paintops/colorsmudge/kis_colorsmudgeop.h

http://commits.kde.org/calligra/f57b2d9247068f26b90dd756ed2243195fdfb6e9
Comment 3 David REVOY 2014-01-05 17:24:53 UTC
Thanks ! It does fix it perfectly, and make all the smudge brush engine predictible. 
Really super fix for 2.8.