]> SALOME platform Git repositories - modules/visu.git/commitdiff
Salome HOME
Change representation: check type of object (VISU or not) before getting servant...
authorjfa <jfa@opencascade.com>
Thu, 15 Sep 2005 13:38:08 +0000 (13:38 +0000)
committerjfa <jfa@opencascade.com>
Thu, 15 Sep 2005 13:38:08 +0000 (13:38 +0000)
src/VISUGUI/VisuGUI_Tools.cxx

index 246590070e6f1abe50e8c1f0f4533251c3e1964d..cf7103a1022a2f8bd512191c6e361e9e519252fb 100644 (file)
@@ -213,15 +213,15 @@ namespace VISU
   {
     if (CheckLock(GetCStudy(GetAppStudy(theModule))))
       return NULL;
-    
+
     CORBA::Object_var anObject = GetSelectedObj(theModule, theIO);
-    if (CORBA::is_nil(anObject)) 
+    if (CORBA::is_nil(anObject))
       return NULL;
 
     PortableServer::ServantBase_var aServant = VISU::GetServant(anObject);
-    if (!aServant.in()) 
+    if (!aServant.in())
       return NULL;
-    
+
     return dynamic_cast<VISU::Prs3d_i*>(aServant.in());
   }
 
@@ -412,7 +412,7 @@ namespace VISU
       }
     } else {
       // Remove aSObject together with all its sub-objects
-      
+
       VISU::RemoveFromStudy(theSObject,
                             false,  // remove not only IOR attribute, but Object With Children
                             false); // not Destroy() sub-objects
@@ -469,6 +469,10 @@ namespace VISU
     Handle(SALOME_InteractiveObject) anIO;
     CORBA::Object_var anObject = GetSelectedObj(theModule, &anIO);
     if (CORBA::is_nil(anObject)) return;
+
+    VISU::Base_var aVisuObj = VISU::Base::_narrow(anObject);
+    if (CORBA::is_nil(aVisuObj)) return;
+
     PortableServer::ServantBase_var aServant = VISU::GetServant(anObject);
     if (!aServant.in()) return;