Den 2015-11-18 kl. 22:51, skrev John Emmas:It made a difference to codekiddy. You two see similar but not identical problems, I suppose.On 18 Nov 2015, at 19:24, Kjell Ahlstedt wrote:I don't understand what's the difference between Implementor::~Implementor() noexcept { } and a compiler-generated destructor.No. In fact, I just tried commenting out the ~Implementor() d'tor (and letting the compiler generate one) but it didn't make any difference. I came to think of a difference between the original ~Implementor() and a compiler-generated one. The compiler-generated destructor is probably inlined. It can be executed without a call to the atkmm DLL. I don't know if that's important. https://mail.gnome.org/archives/gtkmm-list/2015-November/msg00025.htmlI can't find it now but earlier today someone mentioned that if GTKMM_ATKMM_ENABLED is #defined when building the Gtkmm DLL, it must also get #defined in anything which uses that DLL. That makes a lot of sense - because otherwise, certain objects (e.g. class Widget) will have different sizes in different modules. To me, that sounds like a promising explanation for this 'delete' problem. To codekiddy: You should not worry about Glib::Object::~Object() being protected. Atk::Implementor::~Implementor() does not try to call it. If it did, it would be detected at compile-time.I'm busy for a couple of days now - but at the weekend I'll try rebuilding everything, making absolutely sure that GTKMM_ATKMM_ENABLED is #defined in all modules. Fingers crossed, that might solve the problem! John To John and codekiddy: There are previous discussions on gtkmm-list about strange problems with gtkmm and MSVC. Don't know how relevant these links are: https://mail.gnome.org/archives/gtkmm-list/2013-December/msg00002.html https://bugzilla.gnome.org/show_bug.cgi?id=719847 https://mail.gnome.org/archives/gtkmm-list/2014-September/msg00024.html Kjell |