From 7cfb39680fb6bf5e184f1dee156672625578dd21 Mon Sep 17 00:00:00 2001 From: emv Date: Thu, 21 Feb 2013 13:35:40 +0400 Subject: [PATCH] 0023778: New Boolean Operation algorithm does not work with same arguments. Fix for the bug. --- src/BOPAlgo/BOPAlgo_BOP.cxx | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/src/BOPAlgo/BOPAlgo_BOP.cxx b/src/BOPAlgo/BOPAlgo_BOP.cxx index ec0817240f..0ce082969e 100644 --- a/src/BOPAlgo/BOPAlgo_BOP.cxx +++ b/src/BOPAlgo/BOPAlgo_BOP.cxx @@ -155,11 +155,18 @@ static // aNb=myArguments.Extent(); if (aNb!=myNbArgs) { - myErrorStatus=10; // invalid number of arguments + if (aNb!=1 || !(myArgs[0].IsSame(myArgs[1]))) { + myErrorStatus=10; // invalid number of arguments + return; + } + } + // + if (!myPaveFiller) { + myErrorStatus=101; return; } // - BOPAlgo_Builder::CheckData(); + myErrorStatus=myPaveFiller->ErrorStatus(); if (myErrorStatus) { return; } @@ -187,20 +194,20 @@ static } // if (myOperation==BOPAlgo_UNKNOWN) { - myErrorStatus=14; // non-licit oprtation + myErrorStatus=14; // non-licit operation return; } else if (myDims[0]myDims[1]) { if (myOperation==BOPAlgo_FUSE || myOperation==BOPAlgo_CUT) { - myErrorStatus=14; // non-licit oprtation for the arguments + myErrorStatus=14; // non-licit operation for the arguments return; } } -- 2.39.5