>>>>> On Thu, 3 Mar 2005 09:17:07 -0000 (GMT), "Phil Thompson" <[EMAIL >>>>> PROTECTED]> said:
Enabling tracing with SIP, I get the following when I call the clone() member function in C++... FunctionBase * sipFunctionBase::clone() const (this=0x083b0878) python.clone sipFunctionBase::sipFunctionBase(const FunctionBase&) (this=0x0842b2d8) python.copy sipFunctionBase::~sipFunctionBase() (this=0x0842b2d8) Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 1075068096 (LWP 12449)] 0x41abf5d8 in FunctionProjector::initializeFunction (this=0x8403940, projector=0xbfffe4f0) at ../../hippodraw/projectors/FunctionProjector.cxx:135 Current language: auto; currently c++ (gdb) The Python code looks like ... from sihippo import FunctionBase class Linear ( FunctionBase ) : def __init__ ( self, other = None ) : if other : FunctionBase.__init__( self, other ) print "python.copy" self.initialize () else: FunctionBase.__init__( self ) print "python.default" self.initialize () def clone ( self ) : print "python.clone" return Linear ( self ) The segmenetation fault above occurs when I try to use the cloned function from C++. It appears that SIP is destroying the clone function when returning from the clone member function implemented in Python. What might I try next? _______________________________________________ PyKDE mailing list PyKDE@mats.imk.fraunhofer.de http://mats.imk.fraunhofer.de/mailman/listinfo/pykde