On 19.05.2006 03:27, Andrew Craig wrote:
> #7  0x2ac073c8 in __cxa_pure_virtual () 
> from /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/libstdc++.so.5
> #8  0x35d2862c in ~csRef (this=0x8e066ec) at ref.h:184
> #9  0x35d1e2b9 in ~csGenmeshMeshObject (this=0x8e06580) at 
> 
> #8  0x35d2862c in ~csRef (this=0x8e066ec) at ref.h:184
> 184     in ref.h
> (gdb) print this
> 3 = (csRef<iGenMeshAnimationControl> * const) 0x8e066ec
> 
> It looks like it's having problems when trying to destroy the 
> iGenMeshAnimationControl object.

Classes that exhibit interfaces *need* to be refcounted. In this case
your flaw is that you have a non-refcounted class whose descendents
expose interfaces, hence need to be ref-counted (actually, they need to
be a complete SCF class). So either you make the base class
SCF-compatible and all or you refactor your code so that the interfaces
are proper refcounted objects.

-f.r.

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to