Paint bucket filling multiple regions crashes when scrolling

Bug #1130348 reported by Ernst-gumpinger-w
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Inkscape
Fix Released
High
Kim Maxim

Bug Description

The following steps make Inkscape crash:

1. Open a new document.
2. Draw any kind of closed path, for example 3 ellipses, touching each other (see sample file)
3. Zoom on the upper ellipse (I used 187% zoom factor on a 1024x768px screen)
4. Use the paint bucket tool and click-drag the cursor from the top ellipse to the bottom ellipse, in order to fill multiple regions (http://tavmjong.free.fr/INKSCAPE/MANUAL/html/Bucket-Touch.html).
Doing so, the view scrolls downwards. The red path has to stay within the ellipses.
5. Inkscape crashes.

One might ask why you wouldn't de-zoom, to not have to scroll- it is to increase filling accuracy, which depends on the zoom factor. (http://tavmjong.free.fr/INKSCAPE/MANUAL/html/Bucket-Fidelity.html)

Note that any kind of closed path can be used (for instance, bezier curves also produce this error). Even applied on one single closed path, if zoomed in enough, produces the same error. Fill and stroke do not matter.

Tested on version 0.47 on debian and 0.48.4 on Windows XP.

Thank you for your comments. Please let me know if you need more details.

Tags: color crash

Related branches

Revision history for this message
Ernst-gumpinger-w (ernst-gumpinger-w) wrote :
Revision history for this message
Alvin Penner (apenner) wrote :

reproduced on Windows XP, Inkscape rev 12119, I was not able to get a backtrace

Changed in inkscape:
status: New → Confirmed
jazzynico (jazzynico)
tags: added: color crash
Changed in inkscape:
importance: Undecided → High
Revision history for this message
su_v (suv-lp) wrote :

Reproduced with Inkscape 0.48.4 and current trunk r12841 on OS X 10.7.5
(2 backtraces from r12841 attached)

Changed in inkscape:
status: Confirmed → Triaged
Revision history for this message
Kim Maxim (fixer21k) wrote :

Hello. Forgive me if it isn't a right way to contribute bug fixes, but I think I fix this bug. The fix prevent crash but strange behavour of paint bucket (filling area is restricted by visible area) remains. Link to my branch: lp:~fixer21k/inkscape/bugfixes.

Revision history for this message
su_v (suv-lp) wrote :

On 2014-08-08 21:22 , Kim Maxim wrote:
> The fix prevent crash but strange behavour of paint bucket (filling
> area is restricted by visible area) remains.

AFAIU that's not strange, that's by design:
«The region to be filled, however, is defined by the pixels on the screen at the time of the fill.»
<http://tavmjong.free.fr/INKSCAPE/MANUAL/html/Bucket.html>

«Since the Paint Bucket Tool uses pixels to calculate the area to be enclosed, Inkscape will clip the region off-screen to prevent the number of pixels that go into the filling algorithm from becoming too large.»
<http://tavmjong.free.fr/INKSCAPE/MANUAL/html/Bucket-Union.html>

Changed in inkscape:
assignee: nobody → Kim Maxim (fixer21k)
status: Triaged → In Progress
Revision history for this message
jazzynico (jazzynico) wrote :

Patch tested successfully on Windows XP, Inkscape trunk revision 13867.

Changed in inkscape:
milestone: none → 0.92
Revision history for this message
jazzynico (jazzynico) wrote :

Fixed in the trunk, rev. 13873.

Changed in inkscape:
status: In Progress → Fix Committed
su_v (suv-lp)
tags: added: backport-proposed
Revision history for this message
ScislaC (scislac) wrote :

trunk r13873 backported in 0.91.x r13757

Changed in inkscape:
milestone: 0.92 → 0.91.1
tags: removed: backport-proposed
jazzynico (jazzynico)
Changed in inkscape:
milestone: 0.91.1 → 0.92
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.