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