Salome HOME
Fix for the issue #593: do not remove naming attribute, but use TNaming_Builder for...
[modules/shaper.git] / src / SketcherPrs / SketcherPrs_Mirror.cpp
index 2c680a64aaf7aae5a882f65c920772e048a3b382..dca445bfdac2d94c64b359a0ee203cbef55dbf6b 100644 (file)
@@ -52,11 +52,23 @@ bool SketcherPrs_Mirror::updatePoints(double theStep) const
   gp_Pnt aP1;
   for (i = 0; i < aNb; i++) {
     aObj = anAttrB->object(i);
+    if (!aObj.get()) // TODO:empty_result
+      // this check should be removed here after the result flush is corrected
+      // the problem is, that feature::execute() flushes redisplay by each result creation
+      // but it is possible(e.g. in the sketch circle, that there should be more than one result.
+      // Here, crash happens, because the second result is not created yet
+      continue;
     aP1 = aMgr->getPosition(aObj, this, theStep);
     myPntArray->SetVertice(i + 1, aP1);
   }  
   for (i = 0; i < aNb; i++) {
     aObj = anAttrC->object(i);
+    if (!aObj.get()) // TODO:empty_result
+      // this check should be removed here after the result flush is corrected
+      // the problem is, that feature::execute() flushes redisplay by each result creation
+      // but it is possible(e.g. in the sketch circle, that there should be more than one result.
+      // Here, crash happens, because the second result is not created yet
+      continue;
     aP1 = aMgr->getPosition(aObj, this, theStep);
     myPntArray->SetVertice(aNb + i + 1, aP1);
   }