sigc::trackable::~trackable() is not virtual. this can lead to problems when using virtual inheritance of a sigc::trackable, at least with gcc 3.4-4.1. consider this tree:
class A : public virtual sigc::trackable {} class B : public virtual sigc::trackable {} class C : public A, public B {} this leads to a compiler-induced disaster when destroying a C. or at least it can (i just spent most of a week tracking this down). why is this destructor not virtual by default? i thought it was widely accepted good practice that if the class is ever intended to be inheritable, its destructor should be virtual? --p _______________________________________________ libsigc-list mailing list libsigc-list@gnome.org http://mail.gnome.org/mailman/listinfo/libsigc-list