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 ?