Salome HOME
0023544: SMESH's performance issues
[modules/smesh.git] / 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 )