Dear all, I've been extending the clutter-box2dmm bindings and have run into another issue. I have exposed the signal_collision so that you can now tell if two Box2DChild objects have collided. It is also necessary to expose Box2DCollision, which I have done. I can now connect up the callback on a child b2dchild->signal_collision().connect(sigc::ptr_fun(&handle_collision)); To call a function such as, static void handle_collision(const Glib::RefPtr<Clutter::Box2D::Box2DCollision>& c) { ... } In the mainline I can create() objects of type Glib::RefPtr<Clutter::Box2D::Box2DCollision>. However, any time I enter the signal handler I get a "glibmm-WARNING **: Failed to wrap object of type 'ClutterBox2DCollision'. Hint: this error is commonly caused by failing to call a library init() function." and the signal handler is defined (by gmmproc) as Glib::SignalProxy1< void,const Glib::RefPtr<Clutter::Box2D::Box2DCollision> & > Box2DChild::signal_collision() static const Glib::SignalProxyInfo Box2DChild_signal_collision_info = { "collision", (GCallback) &Box2DChild_signal_collision_callback, (GCallback) &Box2DChild_signal_collision_callback }; There is also a gmmproc provided Glib::RefPtr<Clutter::Box2D::Box2DCollision> wrap(ClutterBox2DCollision* object, bool take_copy) And Box2DChild_signal_collision_callback has signature static void Box2DChild_signal_collision_callback(ClutterBox2DChild* self, ClutterBox2DCollision* p0,void* data) Have I forgotten to override some other wrapper method for ClutterBox2DCollision * to a RefPtr for Clutter::Box2D::Box2DCollision? -- Aidan Delaney
Attachment:
signature.asc
Description: This is a digitally signed message part