Weird Problem
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 21/09/2012 at 18:27, xxxxxxxx wrote:
User Information:
Cinema 4D Version: 14
Platform: Windows ;
Language(s) : C++ ;---------
Hey everyone,I am getting a strange error that is crashing C4D.
When I run C4D through the debugger in VS 2010 I get the following exception in the file c4d_objectplugin.cpp.
the exception happens at line 163 in that file:
The exception is:
Unhandled exception at 0x0e3d217a (PXG Elements.cdl) in CINEMA 4D Demo.exe: 0xC0000005: Access violation reading location 0x00000000.
This is happening even on an object plugin with no new code added to it. Just an empty skeleton.
I am not sure why this is happening but any time I try to open any of my object plugins they crash c4d.
Is this a bug in the API? or am I doing something wrong?
Here is the skeleton object code:
#include "c4d.h" #include "c4d_symbols.h" #include "myplugin.h" //PLUGIN ID //=====================================// "INTENTIONALLY REMOVED" //CLASS //=====================================// class MyPlugin : public ObjectData{ public: //Inherited Methods //=====================================// virtual Bool Init(GeListNode *node); virtual Bool Message(GeListNode *node, LONG type, void *t_data); static NodeData *Alloc(void) { return gNew MyPlugin; } virtual DRAWRESULT Draw(BaseObject* op, DRAWPASS drawpass, BaseDraw* bd, BaseDrawHelp* bh); virtual BaseObject *GetVirtualObjects(BaseObject* op, HierarchyHelp* hh); }; //Initialize Default Settings //=====================================// Bool MyPlugin::Init(GeListNode *node){ GePrint("INIT"); return TRUE; } //Draw Visual Aides //=====================================// DRAWRESULT MyPlugin::Draw(BaseObject* op, DRAWPASS drawpass, BaseDraw* bd, BaseDrawHelp* bh) { GePrint("DRAW"); return DRAWRESULT_OK; } //Generate Virtual Objects //=====================================// BaseObject *MyPlugin::GetVirtualObjects(BaseObject* op, HierarchyHelp* hh){ GePrint("GVO"); return NULL; } //Checks messages from the plugin //=====================================// Bool MyPlugin::Message(GeListNode *node, LONG type, void *t_data){ GePrint("MSG"); return TRUE; } //REGISTER THE PLUGIN //=====================================// Bool RegisterMyPlugin(void){ String name=GeLoadString(IDS_MYPLUGIN); if (!name.Content()) return TRUE; return RegisterObjectPlugin(ID_MYPLUGIN, name, OBJECT_GENERATOR, MyPlugin::Alloc,"my_plugin",AutoBitmap("my_plugin.tif"),0); }
Any thoughts as to why this is happening. It doesn't seem to matter which of my object plugins I try to run , it still crashes in R14.
Thanks,
Shawn
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 21/09/2012 at 18:55, xxxxxxxx wrote:
This is the function that throws the exception:
Bool ObjectData::MoveHandle( BaseObject *op, BaseObject *undo, const Vector &mouse_pos, LONG hit_id, QUALIFIER qualifier, BaseDraw *bd ) { Matrix mg = op->GetUpMg() * undo->GetMl(); HandleInfo info; ((ObjectData* )undo->GetNodeData())->GetHandle(undo,hit_id,info); SetHandle(op,hit_id,info.CalculateNewPosition(bd, mg, mouse_pos),info); return TRUE; }
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 25/09/2012 at 11:04, xxxxxxxx wrote:
Are you sure that
BaseObject *op BaseObject *undo BaseDraw *bd
are not NULL ?