Den 2015-11-18 kl. 22:51, skrev John Emmas:
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.
It made a difference to codekiddy. You two see similar but not identical
problems, I suppose.
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.
I 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.
https://mail.gnome.org/archives/gtkmm-list/2015-November/msg00025.html
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 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.
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
_______________________________________________
gtkmm-list mailing list
[email protected]
https://mail.gnome.org/mailman/listinfo/gtkmm-list