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]

Reply via email to