diff options
| author | Alvin Penner <penner@vaxxine.com> | 2013-03-06 20:09:54 +0000 |
|---|---|---|
| committer | apenner <penner@vaxxine.com> | 2013-03-06 20:09:54 +0000 |
| commit | 13b79813920ca1d94f4ccfbb0dc3c602307a6491 (patch) | |
| tree | ccaf75286aec4a34c3148e9070a9ca080d770b35 /src/splivarot.cpp | |
| parent | Added null check (should fix Bug #1051017 ) (diff) | |
| download | inkscape-13b79813920ca1d94f4ccfbb0dc3c602307a6491.tar.gz inkscape-13b79813920ca1d94f4ccfbb0dc3c602307a6491.zip | |
boolops union. fix for disappearing objects (Bug 168907)
Fixed bugs:
- https://launchpad.net/bugs/168907
(bzr r12176)
Diffstat (limited to 'src/splivarot.cpp')
| -rw-r--r-- | src/splivarot.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/splivarot.cpp b/src/splivarot.cpp index 8ce9a012b..061d32554 100644 --- a/src/splivarot.cpp +++ b/src/splivarot.cpp @@ -261,10 +261,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; |
