]> SALOME platform Git repositories - modules/smesh.git/commitdiff
Salome HOME
0023544: SMESH's performance issues
authoreap <eap@opencascade.com>
Wed, 11 Apr 2018 11:19:02 +0000 (14:19 +0300)
committereap <eap@opencascade.com>
Wed, 11 Apr 2018 11:19:02 +0000 (14:19 +0300)
src/SMDS/SMDS_ElementFactory.hxx

index b25b635c8af09718731fc1d08cfece7a4f9d1c2c..3dbc1ab1748d5aa349afb43887bce29148945576 100644 (file)
@@ -266,8 +266,13 @@ struct _RangeSet
    */
   attr_t SetValue( int theIndex, attr_t theValue )
   {
-    set_iterator rNext = mySet.upper_bound( theIndex );
+    set_iterator rNext = mySet.end(); // case of adding elements
     set_iterator     r = rNext - 1;
+    if ( r->my1st > theIndex )
+    {
+      rNext = mySet.upper_bound( theIndex );
+      r     = rNext - 1;
+    }
     int          rSize = Size( r ); // range size
     attr_t      rValue = r->myValue;
     if ( rValue == theValue )