
At Tue, 22 Mar 2011 02:40:41 -0500, Thomas Rab wrote:
--00151747c2d07665e8049f0d5c00 Content-Type: text/plain; charset=ISO-8859-1
On Tue, Mar 22, 2011 at 2:07 AM, Dave Abrahams
wrote: On Sat, Mar 19, 2011 at 12:39 AM, Thomas Rab
wrote: ::Monocle::Collider * ( ::Monocle::Entity::* )( ::std::string const & ) )( &::Monocle::Entity::Collide )
I'm not sure of it, but the problem might be here. What happens if you pass plain
&::Monocle::Entitiy::Collide
here instead (and why on earth are you using a C-style cast here in the first place? )
The boost::python code was generated with py++ (should have mentioned that). I did as you suggested, but I get the same results, unfortunately. Here's what print collider yields in python:
The other thing which may attribute to the problem is that Collider is noncopyable, but I would expect a different result if that was the case.
The only place weakrefs can come from in Boost.Python are from the use of one of these two policies: return_internal_reference with_custodian_and_ward Since I don't see either one in your code, I can only conclude that you're not looking where the problem is, and that (as usual with Boost.Python) if you reduce your problem to an absolute minimal reproducible case, you will solve it along the way. If you don't, feel free to re-post that example so that I can debug it locally. -- Dave Abrahams BoostPro Computing http://www.boostpro.com