To comment on the following update, log in, then open the issue:
http://www.openoffice.org/issues/show_bug.cgi?id=103259


User aw changed the following:

                What    |Old value                 |New value
================================================================================
             Assigned to|aw                        |hdu
--------------------------------------------------------------------------------




------- Additional comments from a...@openoffice.org Mon Aug  3 16:21:05 +0000 
2009 -------
AW->HDU: I think i found the problem. You are using

basegfx::B2DPolyPolygon aClippedPolygon( aOuterPolygon );
basegfx::B2DPolyPolygon
aInnerPolyPoly(basegfx::tools::solveCrossovers(aClippedPolygon));

in vcl/unx/source/gdi/salgdi.cxx in X11SalGraphics::drawPolyPolygon. This only
solves crossovers between the contained single polygons, but not directly the
self-intersections of them. This is done only implicitely when more than one
sub-polygon exists and the polygons need to be processed anyways (see
description in b2dpolypolygoncutter.cxx). To solve the self-intersections of a
single sub-polygon, the version for a single polygon needs to be used.

This is misleading, and maybe we should change this in basegfx. To do the right
thing You need to:

if(aClippedPolygon.count() > 1)
    aInnerPolyPoly = basegfx::tools::solveCrossovers(aClippedPolygon);
else if(aClippedPolygon.count() == 1)
    aInnerPolyPoly =
basegfx::B2DPolyPolygon(basegfx::tools::solveCrossovers(aClippedPolygon.getB2DPolygon(0));

This should do it.

---------------------------------------------------------------------
Please do not reply to this automatically generated notification from
Issue Tracker. Please log onto the website and enter your comments.
http://qa.openoffice.org/issue_handling/project_issues.html#notification

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@graphics.openoffice.org
For additional commands, e-mail: issues-h...@graphics.openoffice.org


---------------------------------------------------------------------
To unsubscribe, e-mail: allbugs-unsubscr...@openoffice.org
For additional commands, e-mail: allbugs-h...@openoffice.org

Reply via email to