[GME-commit] GMESRC/Paradigms/MetaGME/BonExtension BON2Component.cpp, 1.24, 1.25

gme-commit at list.isis.vanderbilt.edu gme-commit at list.isis.vanderbilt.edu
Thu Mar 8 16:54:51 CST 2007


Update of /project/gme-repository/GMESRC/Paradigms/MetaGME/BonExtension
In directory escher:/tmp/cvs-serv18116/BonExtension

Modified Files:
	BON2Component.cpp 
Log Message:
Nested libraries caused some problems
for namespace init & registry write operations.

Nested libraries will have a fake parentFolder, will be set to the main rootfolder.



CVS User: Zoltan Molnar, ISIS (zolmol)

Index: BON2Component.cpp
===================================================================
RCS file: /project/gme-repository/GMESRC/Paradigms/MetaGME/BonExtension/BON2Component.cpp,v
retrieving revision 1.24
retrieving revision 1.25
diff -C2 -d -r1.24 -r1.25
*** BON2Component.cpp	22 Sep 2006 16:05:47 -0000	1.24
--- BON2Component.cpp	8 Mar 2007 22:54:49 -0000	1.25
***************
*** 231,234 ****
--- 231,243 ----
  		FCO resp( it_1->getRespPointer());
  		Folder parent_folder( it_1->getParentFolder());
+ 		Folder orig_parent_folder( parent_folder);
+ 
+ 		if( parent_folder->isInLibrary()) // element's parent is in a library?
+ 		{
+ 			// This means we face a nested library, whose rootfolder is also
+ 			// write protected, meaning that it's registry can't be written.
+ 			// We will use the main rootfolder instead
+ 			parent_folder = project->getRootFolder();
+ 		}
  
  		if ( !fco) global_vars.err << MSG_ERROR << "Populate sheet: tries to create Rep with empty FCO.\n";
***************
*** 269,273 ****
  			if (new_elem)
  			{
! 				new_elem->setParentFolder( parent_folder); 
  				if ( m_equivBag.find( fco) != m_equivBag.end())
  					new_elem->setEquivPeers( m_equivBag[ fco]);
--- 278,282 ----
  			if (new_elem)
  			{
! 				new_elem->setParentFolder( parent_folder, orig_parent_folder); 
  				if ( m_equivBag.find( fco) != m_equivBag.end())
  					new_elem->setEquivPeers( m_equivBag[ fco]);



More information about the GME-commit mailing list