Re: compiling gtkmm with atkmm support fails in implementor.cc



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



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]