On Donnerstag, 20. Juni 2013 14:09:05 CEST, Jan Kundrát wrote:
sort-of-kinda-solves this via qobject_cast, but that's a band aid. The lesson I've learned is to never use an inlined virtual destructor.
I do not recall myself suggesting such ;-) You can omit the empty virtual destructor (when inheriting from a class with virtual destructor) - but not inline it (and pointed out it's not inlined in the Qt plugin example either) Also see: http://techbase.kde.org/Policies/Binary_Compatibility_Issues_With_C++ The advise (end of do's and don'ts) is *clearly* to ... * add non-inline virtual destructor even if the body is empty. You should have a virtual destructor because changing virtuality is not possible and a virtual destructor is always a good idea. It should be not inlined, because tl;dr - inlining in any ABI stability concerned header is a can of worms (resolution problems aside: you're basically not getting rid of it ever again) Cheers, Thomas