[GME-commit] GMESRC/GME/Mga MgaFolder.cpp,1.31,1.32

gme-commit at list.isis.vanderbilt.edu gme-commit at list.isis.vanderbilt.edu
Tue Nov 15 20:14:41 CST 2005


Update of /project/gme-repository/GMESRC/GME/Mga
In directory escher:/tmp/cvs-serv22906

Modified Files:
	MgaFolder.cpp 
Log Message:
Fixing the bugfix of JIRA entry: GME-114


CVS User: Zoltan Molnar, ISIS (zolmol)

Index: MgaFolder.cpp
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Mga/MgaFolder.cpp,v
retrieving revision 1.31
retrieving revision 1.32
diff -C2 -d -r1.31 -r1.32
*** MgaFolder.cpp	13 Sep 2005 19:36:48 -0000	1.31
--- MgaFolder.cpp	15 Nov 2005 20:14:39 -0000	1.32
***************
*** 343,346 ****
--- 343,347 ----
  void traversechildren( CoreObj& ss)
  {
+ 	ASSERT( DTID_MODEL == GetMetaID(ss));
  	CoreObjs children = ss[ATTRID_PARENT+ATTRID_COLLECTION];
  	long candidate = ss[ATTRID_LASTRELID] + 1;
***************
*** 352,356 ****
  			{
  				ITER[ATTRID_RELID] = candidate++;
! 				traversechildren( ITER );
  			} // else : still derived, no need for relid assignment
  		}
--- 353,358 ----
  			{
  				ITER[ATTRID_RELID] = candidate++;
! 				if( DTID_MODEL == GetMetaID(ITER))
! 					traversechildren( ITER );
  			} // else : still derived, no need for relid assignment
  		}
***************
*** 369,373 ****
  	// then assign a new relid in [1, RELIDSPACE) interval, because secondary derived objects
  	// had special relids (greater then RELIDSPACE) which now need to be modified back to regular relids
! 	traversechildren( prnt);
  }
  
--- 371,381 ----
  	// then assign a new relid in [1, RELIDSPACE) interval, because secondary derived objects
  	// had special relids (greater then RELIDSPACE) which now need to be modified back to regular relids
! 	long candidate = self[ATTRID_LASTRELID] + 1;
! 	if((unsigned long)candidate < RELIDSPACE) {		// simple case: no overflow yet.
! 		prnt[ATTRID_RELID] = candidate;
! 		self[ATTRID_LASTRELID] = candidate;
! 		if( DTID_MODEL == GetMetaID(prnt)) 
! 			traversechildren( prnt);
! 	}
  }
  



More information about the GME-commit mailing list