Review Request 120610: Fix for Krita Bug 339870

Gerald Young supersayoyin at gmail.com
Fri Oct 17 14:44:13 BST 2014


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/120610/
-----------------------------------------------------------

(Updated Oct. 17, 2014, 1:44 p.m.)


Review request for Calligra.


Changes
-------

New patch with adjusted whitespace indent


Repository: calligra


Description
-------

Fixes Krita Bug 339870.

The issue was two fold. Firstly on krita/ui/tool/kis_tool_freehand.cc didn't respond well to slow dragging motions. The brush size can only increment in integer pixel values, but a slow dragging motion generates increments smaller than one pixel. These small increments get truncated once passed to brush settings and the drag motion is discarded. Solution was to accumulate the drag motion until it is higher than one pixel.

A second problem was that KisDoubleSliderSpinBox would implicitly convert the provided qreal to an int value. This conversion works like the floor function, for example turning a 0.1 into a 0 value (ok) and turning a -0.1 value into a -1 value (not ok). This was the cause of the weird behavior where brush size would decrease even when dragging right slowly. Solution was to use qRound to avoid the implicit conversion.


Diffs (updated)
-----

  krita/ui/tool/kis_tool_freehand.cc 76a0ce0 
  krita/ui/widgets/kis_slider_spin_box.cpp f9a7fc0 

Diff: https://git.reviewboard.kde.org/r/120610/diff/


Testing
-------

Tested doing shift+drag and size increases/decreases normally. Slow shift+dragging also increases/decreases the brush size properly. Tried also at high zoom ratios and also works as expected.


Thanks,

Gerald Young

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/calligra-devel/attachments/20141017/8652b386/attachment.htm>


More information about the calligra-devel mailing list