On Tuesday February 1 2011 15:14:21 Anders Logg wrote: > On Tue, Feb 01, 2011 at 03:12:05PM -0800, Johan Hake wrote: > > On Tuesday February 1 2011 14:53:55 Anders Logg wrote: > > > Something seems to go wrong with the Hierarchical Python wrappers. > > > > > > C++ program: > > > UnitSquare mesh(3, 3); > > > mesh._debug(); > > > > > > Output: > > > > > > Debugging hierarchical object. > > > > > > has_parent() = 0 > > > _parent.get() = 0 > > > _parent.count() = 0 > > > has_child() = 0 > > > _child.get() = 0 > > > _child.count() = 0 > > > > > > Debugging hierarchical object. > > > > > > has_parent() = 0 > > > _parent.get() = 0 > > > _parent.count() = 0 > > > has_child() = 0 > > > _child.get() = 0 > > > _child.count() = 0 > > > > > > Python program: > > > mesh = UnitSquare(3, 3) > > > mesh._debug() > > > > > > Debugging hierarchical object. > > > > > > has_parent() = 0 > > > _parent.get() = 0 > > > _parent.count() = 0 > > > has_child() = 0 > > > _child.get() = 0 > > > _child.count() = 0 > > > > > > Debugging hierarchical object. > > > > > > has_parent() = 1 > > > _parent.get() = cbd47290 > > > _parent.count() = -878438560 > > > has_child() = 1 > > > _child.get() = cbd47290 > > > _child.count() = -878438560 > > > > > > The first call to Hierarchical::_debug is made from the constructor of > > > Hierarchical and is correct in both C++ and Python, but then the > > > Python object seems to lose contact with the reality. > > > > Yes quite so... > > > > I changed locally to swig 2.0 and the problem went away. shared_ptr > > support has been rewritten in 2.0. I might be able to hack the interface > > of Hierarchical in a similar manner as I did for Variables. Just > > implementing the interface again in the C++ layer. > > > > But I am not sure. The shared_ptr part of the SWIG interface starts to be > > quite complex now with supporting SWIG version 1.3.37 to 1.3.40 and 2.0 > > > > Maybe we should force SWIG 2.0? > > Is that possible? It's not in Ubuntu yet, or is it?
No, then we probably need to keep the mess... Johan _______________________________________________ Mailing list: https://launchpad.net/~dolfin Post to : [email protected] Unsubscribe : https://launchpad.net/~dolfin More help : https://help.launchpad.net/ListHelp

