]> OCCT Git - occt-copy.git/commitdiff
ref to 0029711: General Fuse operation produces invalid result V7_3_0p4
authoremv <emv@opencascade.com>
Mon, 23 Sep 2019 08:13:57 +0000 (11:13 +0300)
committeremv <emv@opencascade.com>
Mon, 23 Sep 2019 08:13:57 +0000 (11:13 +0300)
Avoid usage of uninitialized variable.

src/BOPAlgo/BOPAlgo_PaveFiller_6.cxx

index be01deb475579e423afaaa87b3e5e660b126fcda..40296594e47d2f96d7d947fad5725795e15812ca 100644 (file)
@@ -2305,14 +2305,16 @@ void BOPAlgo_PaveFiller::PutPaveOnCurve
   bIsVertexOnLine = myContext->IsVertexOnLine(aV, aTolV, aIC, aTolR3D + myFuzzyValue, aT);
   if (!bIsVertexOnLine && iCheckExtend && !myVertsToAvoidExtension.Contains(nV))
   {
-    Standard_Real anExtraTol;
-    ExtendedTolerance(nV, aMI, anExtraTol, iCheckExtend);
-    bIsVertexOnLine = myContext->IsVertexOnLine(aV, anExtraTol, aIC, aTolR3D + myFuzzyValue, aT);
-    if (bIsVertexOnLine)
+    Standard_Real anExtraTol = aTolV;
+    if (ExtendedTolerance(nV, aMI, anExtraTol, iCheckExtend))
     {
-      gp_Pnt aPOnC;
-      aIC.D0(aT, aPOnC);
-      aTolV = aPOnC.Distance(BRep_Tool::Pnt(aV));
+      bIsVertexOnLine = myContext->IsVertexOnLine(aV, anExtraTol, aIC, aTolR3D + myFuzzyValue, aT);
+      if (bIsVertexOnLine)
+      {
+        gp_Pnt aPOnC;
+        aIC.D0(aT, aPOnC);
+        aTolV = aPOnC.Distance(BRep_Tool::Pnt(aV));
+      }
     }
   }
   //