Salome HOME
bug #237: fatal error on profile
[modules/hydro.git] / src / HYDROGUI / HYDROGUI_PolylineOp.cxx
index 7ad2b2f6c9c746fa22d722e042fcd7bdca8342ed..835b9d04d18f341507a19b3c81f089a00abfc57e 100755 (executable)
@@ -250,6 +250,11 @@ bool HYDROGUI_PolylineOp::processApply( int& theUpdateFlags,
     }
   }
 
+  if ( !myIsEdit )
+  {
+    aPolylineObj->SetWireColor( HYDROData_PolylineXY::DefaultWireColor() );
+  }
+
   // Update the wire of polyline
   aPolylineObj->Update();
 
@@ -291,7 +296,8 @@ void HYDROGUI_PolylineOp::onEditorSelectionChanged()
   //QList<int> aSelSections = aPanel->getSelectedSections();
   bool aIsHl = false;
   //if( aSelSections.contains(i) ){
-    aDisplayer->highlight( myCurve->constructWire(), aIsHl );
+  // TODO
+  //aDisplayer->highlight( myCurve->getAISObject(), aIsHl );
   //}
 }
 
@@ -306,7 +312,7 @@ void HYDROGUI_PolylineOp::displayPreview()
       {
         CurveCreator_Displayer* aDisplayer = new CurveCreator_Displayer( aCtx );
         myCurve->setDisplayer( aDisplayer );
-        aDisplayer->display( myCurve->constructWire(), true );
+        aDisplayer->display( myCurve->getAISObject( true ), true );
       }
     }
   }
@@ -322,8 +328,15 @@ void HYDROGUI_PolylineOp::erasePreview()
       Handle(AIS_InteractiveContext) aCtx = aViewer->getAISContext();
       if( !aCtx.IsNull() )
       {
-        aDisplayer->erase( true );
+        aDisplayer->eraseAll( true );
       }
     }
   }
+
+  myViewManager = NULL;
+  if ( myCurve )
+  {
+    delete myCurve;
+    myCurve = NULL;
+  }
 }