[MOAB-dev] r1960 - MOAB/trunk
    tautges at mcs.anl.gov 
    tautges at mcs.anl.gov
       
    Sun Jun 29 20:59:45 CDT 2008
    
    
  
Author: tautges
Date: 2008-06-29 20:59:45 -0500 (Sun, 29 Jun 2008)
New Revision: 1960
Modified:
   MOAB/trunk/TypeSequenceManager.cpp
Log:
Third time pays for all.  This time, in TSM::is_free_sequence was true, so there was a free sequence; SM::create_entity_sequence then called SM::new_sequence_size, which used the first handle of the next higher sequence to compute the size, when the start handle of the data on which that first handle was allocated was smaller.  Sigh.
Modified: MOAB/trunk/TypeSequenceManager.cpp
===================================================================
--- MOAB/trunk/TypeSequenceManager.cpp	2008-06-30 01:34:58 UTC (rev 1959)
+++ MOAB/trunk/TypeSequenceManager.cpp	2008-06-30 01:59:45 UTC (rev 1960)
@@ -576,8 +576,11 @@
   const_iterator it = lower_bound( after_this );
   if (it == end())
     return CREATE_HANDLE( TYPE_FROM_HANDLE(after_this), MB_END_ID, junk );
-  else if ((*it)->start_handle() > after_this) 
-    return (*it)->start_handle() - 1;
+  else if ((*it)->start_handle() > after_this) {
+      // need to check against the sequence data first
+    MBEntityHandle rhandle = std::min((*it)->start_handle(), (*it)->data()->start_handle());
+    return rhandle - 1;
+  }
   else
     return 0;
 }
    
    
More information about the moab-dev
mailing list