Bug 369095

Summary: Lazybrush assertion when a key stroke has 0 opacity
Product: [Applications] krita Reporter: Nicholas LaPointe <nicholaslapointe8>
Component: Filter LayersAssignee: Krita Bugs <krita-bugs-null>
Status: RESOLVED FIXED    
Severity: normal    
Priority: NOR    
Version: git master (please specify the git hash!)   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In:
Attachments: Document with 0 opacity stroke
Document without 0 opacity stroke

Description Nicholas LaPointe 2016-09-20 02:47:32 UTC
Adding a key stroke that has 0 opacity and then updating the colorize mask will sometimes cause Krita to exit with the following assertion:
"m_mainArea.contains(m_bLabelArea)" in file src/libs/image/lazybrush/kis_lazy_fill_graph.h, line 360

I am unable to reliably repeat this using any arbitrary image, but it always happens with lazybrush_assert_with0opacity.kra for me. lazybrush_assert_before0opacity.kra is the same file, but without the 0 opacity stroke.

Reproducible: Sometimes

Steps to Reproduce:
Using lazybrush_assert_with0opacity.kra
1. Update colorize mask

Using lazybrush_assert_before0opacity.kra
1. Add a stroke to the colorize mask using 0 opacity
2. Update colorize mask
Comment 1 Nicholas LaPointe 2016-09-20 02:48:33 UTC
Created attachment 101194 [details]
Document with 0 opacity stroke
Comment 2 Nicholas LaPointe 2016-09-20 02:48:56 UTC
Created attachment 101195 [details]
Document without 0 opacity stroke
Comment 3 Dmitry Kazakov 2016-09-21 14:03:26 UTC
Git commit 87bb1079c1aa68ed4334f1618161b4d9c1a4887d by Dmitry Kazakov.
Committed on 21/09/2016 at 14:03.
Pushed by dkazakov into branch 'master'.

Fix crash in Colorize Mask when painted with 0 opacity

Well, there is no reason to try to fill empty scribbles
Fixes T3811

M  +12   -0    libs/image/lazybrush/kis_multiway_cut.cpp

http://commits.kde.org/krita/87bb1079c1aa68ed4334f1618161b4d9c1a4887d