Bug 329479 - krita 2.8 (B1): black artifacts on the canvas while moving vector shapes
Summary: krita 2.8 (B1): black artifacts on the canvas while moving vector shapes
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Applications
Component: Tools (show other bugs)
Version: 2.8 Beta
Platform: Compiled Sources All
: NOR normal
Target Milestone: ---
Assignee: Krita Bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-12-31 18:32 UTC by Silvio Grosso
Modified: 2014-01-07 08:06 UTC (History)
2 users (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 Silvio Grosso 2013-12-31 18:32:43 UTC
Krita 2.8 beta 1 (2.7.9.3) latest installer (downloaded tonight) installed on Windows 7 (64 bit)
Cpu Intel 7 - Gpu Geforce Gt 540M

This same bug occurred with the previous installer on Windows 7 (32 bit)
Cpu intel 5 - Gpu Ati radeon 

I have even tested Ubuntu 13.10 - 64 bit (Unity Desktop) and this bug occurs on this platform as well.
Krita 2.9 (pre-alpha) is installed through the Lime ppa by Dmitry (just upgraded today as well).

OpenGL is always disabled (both on Windows 7 and Ubuntu 13.10).

Reproducible: Always

Steps to Reproduce:
1. Fire up Krita 2.8 (beta 1);
2. Open new Custom Document (e.g. 600 x 450 pixel; 300 dpi, white canvas as background);
3. Select no matter what vector shape: e.g. an arrow;
4. Drag this vector shape on the canvas *while* changing its size: you always get black artifacts (spots) on the canvas underneath.

Pay attention: if you save this image as .kra the dots are no longer present in the new image. 
On the contrary, if you save this image as jpg or png all black spots are visible on the new images
Actual Results:  
Black artifacts on the canvas while dragging *and* modifying the size of any vector shape.

Expected Results:  
Krita 2.8 beta 1 should not produce artificats on the canvas while dragging the vector shapes (mostly because they are saved into the new image later...).

To avoid these artifacts later, it looks like you should simply save the image as .kra :-)

Here you can download a video with all my steps:
https://dl.dropboxusercontent.com/u/3095134/BUGS_REPORT/Krita_2.8_beta_vector_artifacts_while_moving_shapes.avi
Comment 1 Halla Rempt 2014-01-01 11:46:25 UTC
Yes, I can confirm. Looks like we don't update all of the canvas all the time. I just tested with 2.7, and that had the same issue already.
Comment 2 Dmitry Kazakov 2014-01-06 20:16:56 UTC
It seems to be an issue of the Arrow shape only. I have such a feeling that it's boundingBox() returns a value smaller that the real size of the arrow.

http://wstaw.org/m/2014/01/06/plasma-desktopmc2532.jpg
Comment 3 Dmitry Kazakov 2014-01-06 20:37:27 UTC
The problem relates to Line Thickness. When it is non-null, the corners of the path go outisde of the shape's bounds and are not updated properly
Comment 4 Dmitry Kazakov 2014-01-06 21:02:34 UTC
The fix is awaiting for review. I will push it as soon as ShipIt is got.

https://git.reviewboard.kde.org/r/114890/
Comment 5 Dmitry Kazakov 2014-01-07 07:08:25 UTC
Git commit 2d1dae54d139d2e8a7f85fec3eb4dec3be366253 by Dmitry Kazakov.
Committed on 06/01/2014 at 21:04.
Pushed by dkazakov into branch 'master'.

Fix calculation of the shape's insets when it has Miter joining

The insets should be not smaller than the limit of the Miter joining
REVIEW:114890

M  +8    -2    libs/flake/KoShapeStroke.cpp

http://commits.kde.org/calligra/2d1dae54d139d2e8a7f85fec3eb4dec3be366253
Comment 6 Dmitry Kazakov 2014-01-07 08:06:59 UTC
Git commit d23521fff37e2ec84b4939c529d9177bf590c5b5 by Dmitry Kazakov.
Committed on 06/01/2014 at 21:04.
Pushed by dkazakov into branch 'calligra/2.8'.

Fix calculation of the shape's insets when it has Miter joining

The insets should be not smaller than the limit of the Miter joining
REVIEW:114890

M  +8    -2    libs/flake/KoShapeStroke.cpp

http://commits.kde.org/calligra/d23521fff37e2ec84b4939c529d9177bf590c5b5