diff options
| author | su_v <suv-sf@users.sourceforge.net> | 2013-03-08 08:59:37 +0000 |
|---|---|---|
| committer | ~suv <suv-sf@users.sourceforge.net> | 2013-03-08 08:59:37 +0000 |
| commit | d8a3b36b43e0700126a7a25a1d38858d1a1d4836 (patch) | |
| tree | eaf5a86ac5542fc33ed8bb697a615e08ddd2ae01 /src/splivarot.cpp | |
| parent | changes_2013_02_25a.patch (diff) | |
| parent | Drop deprecated get_vbox method in Gtk::Dialog (diff) | |
| download | inkscape-d8a3b36b43e0700126a7a25a1d38858d1a1d4836.tar.gz inkscape-d8a3b36b43e0700126a7a25a1d38858d1a1d4836.zip | |
merge from trunk (r12181)
(bzr r11668.1.53)
Diffstat (limited to 'src/splivarot.cpp')
| -rw-r--r-- | src/splivarot.cpp | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/src/splivarot.cpp b/src/splivarot.cpp index c3243930d..f9aaab898 100644 --- a/src/splivarot.cpp +++ b/src/splivarot.cpp @@ -460,10 +460,13 @@ sp_selected_path_boolop(SPDesktop *desktop, bool_op bop, const unsigned int verb theShapeB->ConvertToShape(theShape, origWind[curOrig]); - // les elements arrivent en ordre inverse dans la liste - theShape->Booleen(theShapeB, theShapeA, bop); - - { + if (theShapeA->numberOfEdges() == 0) { + Shape *swap = theShapeB; + theShapeB = theShapeA; + theShapeA = swap; + } else if (theShapeB->numberOfEdges() > 0) { + // les elements arrivent en ordre inverse dans la liste + theShape->Booleen(theShapeB, theShapeA, bop); Shape *swap = theShape; theShape = theShapeA; theShapeA = swap; @@ -506,7 +509,10 @@ sp_selected_path_boolop(SPDesktop *desktop, bool_op bop, const unsigned int verb originaux[1]->ConvertWithBackData(1.0); - originaux[1]->Fill(theShape, 1,false,false,false); //do not closeIfNeeded + if ((originaux[1]->pts.size() == 2) && originaux[1]->pts[0].isMoveTo && !originaux[1]->pts[1].isMoveTo) + originaux[1]->Fill(theShape, 1,false,true,false); // see LP Bug 177956 + else + originaux[1]->Fill(theShape, 1,false,false,false); //do not closeIfNeeded theShapeB->ConvertToShape(theShape, fill_justDont); // fill_justDont doesn't computes winding numbers |
