Salome HOME
Issue #662 Warning on remove or rename of (may be) used object in PartSet
[modules/shaper.git] / src / GeomAPI / GeomAPI_AISObject.cpp
index 681926a68d3439c3235d0657e34e8bfa949167aa..fc34c50ae49953337cbd8279ae2a070a8b2eb488 100644 (file)
@@ -43,10 +43,10 @@ GeomAPI_AISObject::GeomAPI_AISObject()
 
 GeomAPI_AISObject::~GeomAPI_AISObject()
 {
-  if (myImpl) {
+  if (!empty()) {
     // This is necessary for correct deletion of Handle entity. 
     // Without this Handle does not decremented counter to 0
-    Handle(AIS_InteractiveObject) *anAIS = (Handle(AIS_InteractiveObject)*)myImpl;
+    Handle(AIS_InteractiveObject) *anAIS = implPtr<Handle(AIS_InteractiveObject)>();
     anAIS->Nullify();
   }
 }
@@ -272,7 +272,6 @@ void GeomAPI_AISObject::setColor(const int& theColor)
   if (anAIS.IsNull())
     return;
   Quantity_Color aColor((Quantity_NameOfColor) theColor);
-  anAIS->SetColor(aColor);
   Handle(AIS_Dimension) aDimAIS = Handle(AIS_Dimension)::DownCast(anAIS);
   if (!aDimAIS.IsNull()) {
     aDimAIS->DimensionAspect()->SetCommonColor(aColor);
@@ -305,7 +304,6 @@ bool GeomAPI_AISObject::setColor(int theR, int theG, int theB)
   if (aColor.IsEqual(aCurrentColor))
     return false;
 
-  anAIS->SetColor(aColor);
   Handle(AIS_Dimension) aDimAIS = Handle(AIS_Dimension)::DownCast(anAIS);
   if (!aDimAIS.IsNull()) {
     aDimAIS->DimensionAspect()->SetCommonColor(aColor);