THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 19/02/2006 at 08:47, xxxxxxxx wrote:
User Information:
Cinema 4D Version: 9.521
Platform: Mac OSX ;
Language(s) : C++ ;
---------
Here is the 'dump' - note the crashing method:
_Date/Time: 2006-02-19 08:32:43.777 -0700
OS Version: 10.4.5 (Build 8H14)
Report Version: 4
Command: CINEMA 4D
Path: /Applications/MAXON/CINEMA 4D R9.5.2 UB/CINEMA 4D UB.app/Contents/MacOS/CINEMA 4D
Parent: WindowServer [60]
Version: 9.521 (9.521)
PID: 932
Thread: 0
Exception: EXC_BAD_ACCESS (0x0001)
Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x000000b0
Thread 0 Crashed:
0 com.maxon.cinema4d 0x003c6d40 BoGetTagData(BaseObject*, long, long) + 128
1 interPoser Ltd.dylib 0x0780e324 AnimLoader::Begin(BaseDocument*, AtomArray*, Filename, String, long, long, long, long, float, unsigned char, unsigned char) + 3172
2 interPoser Ltd.dylib 0x0781e44c iPDialog::LoadScene(unsigned char) + 3708
3 interPoser Ltd.dylib 0x07821e2c iPDialog::Command(long, BaseContainer const&) + 2524
4 interPoser Ltd.dylib 0x07861f54 CDialogCallBack(CDialog*, CUserArea*, BaseContainer* ) + 164
_
The only tag access in AnimLoader::Begin() is here:
// Create a new PLA Key set
// - Add KeyFrame
if (!(key = PLAKey::Alloc()))
{
retval = ErrorException::Throw(GeLoadString(ERROR_MEMORY_TEXT), "AnimLoader.CreateKeyFrame.key");
goto Catch;
}
key->SetTime(stime);
list->seq->InsertKey(key);
destDoc->AddUndo(UNDO_NEW, key);
// - Add PLA data
if (!(vtag = key->GetPointTag()))
{
retval = ErrorException::Throw(GeLoadString(ERROR_MEMORY_TEXT), "AnimLoader.CreateKeyFrame.vtag");
goto Catch;
}
// - Update array size of vtag
vc.old_cnt = vtag->GetDataCount();
vc.new_cnt = list->ptCnt;
if (!vtag->Message(MSG_POINTS_CHANGED, &vc;))
{
retval = ErrorException::Throw("AnimLoader.CreateKeyFrame","PLA data creation failed");
goto Catch;
}
#ifdef WIN64
CopyMem(((PointObject* )obj)->GetPoint(), vtag->GetDataAddress(), static_cast<VLONG>(list->ptSize));
#else
CopyMem(((PointObject* )obj)->GetPoint(), vtag->GetDataAddress(), list->ptSize);
#endif
And, of course, this code has worked in Windows, Windows x64, and MacOS for some time. Anything changed that I should know about and not mentioned in the 9.52 SDK documentation?
Thanks,
Robert