Bug 329215

Summary: Krita 2.8 (beta): invert selecions have some sides with missing "marching ants"
Product: [Applications] krita Reporter: Silvio Grosso <grossosilvio>
Component: ToolsAssignee: Krita Bugs <krita-bugs-null>
Status: RESOLVED FIXED    
Severity: normal    
Priority: NOR    
Version: 2.8 Beta   
Target Milestone: ---   
Platform: Microsoft Windows   
OS: Microsoft Windows   
Latest Commit: Version Fixed In:

Description Silvio Grosso 2013-12-25 10:34:46 UTC
krita 2.8 (beta 1) installed on Windows 7 (home edition) - 64 bit
cpu: Intel i7; gpu: nvidia geeforce GT 540M
Krita 2.9 (alpha) installed on Ubuntu 13.10  as guest (through the Lime ppa by Dmitry; with Vbox)

OpenGL is always disabled

Reproducible: Always

Steps to Reproduce:
1. Open a Custom document (e.g 3000x3000 px, 300 dpi)
2. Select with rectangle (all marching ants are visible)
3. Invert this selection (ctr+shift+I): some sides have missing "marching ants".
4. The same occurs with other types of selections:  e.g. elliptical (yet again, when you invert the selection you get some sides with missing marching ants).

BTW, this is a minor bug because the fill tool works *great* on the inverted selection (even though the marching ants are not visible previously)

Both these small bugs always occur on Windows 7 and Ubuntu 13.10 (the latter installed through Vbox)

Btw, in the long past, Sven fixed a "similar" bug.
In essence,  back then, when you inverted a selection, the marching ants where not visible at all (at present, on the contrary, you have much of the sides with them visible)
Actual Results:  
When you invert a selection (no matter what) you get some sides with missing "marching ants" (most sides show them though). The fill tool works great though :-)

Expected Results:  
You should be able to see ALL sides of the inverted selection with "marching ants".
At least, it is what occurs with Gimp 2.8.10 :-)

This bug occurs both on Windows 7 (64 bit) and Ubuntu 13.10 (unity desktop) - 64 bit.

Here you can watch a video with my steps (Windows and Ubuntu 13.10):
https://dl.dropboxusercontent.com/u/3095134/BUGS_REPORT/KRITA_2.8_B1_INVERT_SELECTION_MISSING_ANTS.avi
Comment 1 Dmitry Kazakov 2013-12-26 17:27:51 UTC
Git commit 6d1b4e3247f178f4993816586ea910eac526342a by Dmitry Kazakov.
Committed on 26/12/2013 at 17:27.
Pushed by dkazakov into branch 'master'.

Fix the outline generation bug

The outline generation algorithm has a small bug, which
results in the starting point be repeated twice in the
beginning of the path, instead of being put into the
end. Now we just explicitly close the path to workaround
it in KisPixelSelection::recalculateOutlineCache().

M  +11   -0    krita/image/kis_pixel_selection.cpp
M  +29   -0    krita/image/tests/kis_selection_test.cpp
M  +2    -0    krita/image/tests/kis_selection_test.h

http://commits.kde.org/calligra/6d1b4e3247f178f4993816586ea910eac526342a
Comment 2 Dmitry Kazakov 2013-12-28 14:57:30 UTC
Git commit 4d6b5b4252cd4dedffa92b7566f561ac94fbfdc6 by Dmitry Kazakov.
Committed on 26/12/2013 at 17:27.
Pushed by dkazakov into branch 'calligra/2.8'.

Fix the outline generation bug

The outline generation algorithm has a small bug, which
results in the starting point be repeated twice in the
beginning of the path, instead of being put into the
end. Now we just explicitly close the path to workaround
it in KisPixelSelection::recalculateOutlineCache().

M  +11   -0    krita/image/kis_pixel_selection.cpp
M  +29   -0    krita/image/tests/kis_selection_test.cpp
M  +2    -0    krita/image/tests/kis_selection_test.h

http://commits.kde.org/calligra/4d6b5b4252cd4dedffa92b7566f561ac94fbfdc6