On Jun 12, Samuel Bronson ([EMAIL PROTECTED]) wrote: > A better backtrace (that is, with debugging symbols) is: > > #0 0x4039ddb1 in OpenSP::ParsedSystemId::unparse (this=0xbffff52c, > [EMAIL PROTECTED], isNdata=false, [EMAIL PROTECTED]) at > ExtendEntityManager.cxx:2113 > #1 0x4010e441 in OpenJade_DSSSL::DssslApp::processSysid > (this=0xbffff628, [EMAIL PROTECTED]) at DssslApp.cxx:126 > #2 0x4038cd5a in OpenSP::EntityApp::processArguments > (this=0xbffff628, argc=4, argv=0xbffffac4) at EntityApp.cxx:82 > #3 0x40377413 in OpenSP::CmdLineApp::run (this=0xbffff628, argc=4, > argv=0xbffffab4) at CmdLineApp.cxx:356 > #4 0x0805707e in main (argc=8, argv=0xbffffab4) at jade.cxx:206 > > It turns out that StorageObjectSpec::operator= (called earlier in > frame #1) forgets to copy the storageManager field. Here is a patch to > fix that and a problem I couldn't help but notice in the method right > above it (and to think, I claim not to know C++ ;-): > > --- lib/ExtendEntityManager.cxx.backup 2006-06-12 16:44:25.000000000 -0400 > +++ lib/ExtendEntityManager.cxx 2006-06-12 16:49:27.000000000 -0400 > @@ -1238,7 +1238,8 @@ > } > > StorageObjectSpec::StorageObjectSpec(const StorageObjectSpec& x) > -: codingSystemName(x.codingSystemName), > +: storageManager(x.storageManager), > + codingSystemName(x.codingSystemName), > codingSystem(x.codingSystem), > specId(x.specId), > baseId(x.baseId), > @@ -1253,6 +1254,7 @@ > StorageObjectSpec& StorageObjectSpec::operator=(const StorageObjectSpec& x) > { > if (this != &x) { > + storageManager = x.storageManager; > codingSystemName = x.codingSystemName; > codingSystem = x.codingSystem; > specId = x.specId;
Thanks, I will apply this and upload. I am extremely busy these days, so please forgive me if it takes a little while. Thanks. -- Neil Roeth -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]