Salome HOME
Fix bug 12379: Explode BREP to entities very long. Do not check new name uniqueness...
authorjfa <jfa@opencascade.com>
Wed, 10 May 2006 14:26:06 +0000 (14:26 +0000)
committerjfa <jfa@opencascade.com>
Wed, 10 May 2006 14:26:06 +0000 (14:26 +0000)
src/GEOMBase/GEOMBase_Helper.cxx

index c8201fc5fe5c023ba7b78f6332b077e6ea80f042..9d65029f86cd859c4f16c12c31f118f0b31d7d47 100755 (executable)
@@ -759,13 +759,21 @@ bool GEOMBase_Helper::onAccept( const bool publish, const bool useTransaction )
       else {
        const int nbObjs = objects.size();
        bool withChildren = false;
+        int aNumber = 1;
        for ( ObjectList::iterator it = objects.begin(); it != objects.end(); ++it ) {
          if ( publish ) {
-           QString aName("");
-           if ( nbObjs > 1 )
-             aName = strlen( getNewObjectName() ) ? GEOMBase::GetDefaultName( getNewObjectName() ) : GEOMBase::GetDefaultName( getPrefix( *it ) );
-           else {
-             aName = getNewObjectName();
+           QString aName = getNewObjectName();
+           if ( nbObjs > 1 ) {
+              if (aName.isEmpty())
+                aName = getPrefix(*it);
+              if (nbObjs <= 30) {
+                // Try to find a unique name
+                aName = GEOMBase::GetDefaultName(aName);
+              } else {
+                // Don't check name uniqueness in case of numerous objects
+                aName = aName + "_" + QString::number(aNumber++);
+              }
+           } else {
              // PAL6521: use a prefix, if some dialog box doesn't reimplement getNewObjectName()
              if ( aName.isEmpty() )
                aName = GEOMBase::GetDefaultName( getPrefix( *it ) );