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.
signature.asc
Description: OpenPGP digital signature
