Paint bucket filling multiple regions crashes when scrolling
| 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://
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://
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.
Related branches
- jazzynico (community): Approve
-
Diff: 12 lines (+1/-1) 1 file modifiedapisrc/ui/tools/flood-tool.cpp (+1/-1)
reproduced on Windows XP, Inkscape rev 12119, I was not able to get a backtrace
- 1130348-bt-full-r12841-debug-osx-quartz-64bit.txt Edit (341.1 KiB, text/plain)
Reproduced with Inkscape 0.48.4 and current trunk r12841 on OS X 10.7.5
(2 backtraces from r12841 attached)
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.
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://
«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://
Patch tested successfully on Windows XP, Inkscape trunk revision 13867.
Fixed in the trunk, rev. 13873.
trunk r13873 backported in 0.91.x r13757