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



Hi Kjell, first thank you for your response!

>Have you built atkmm with the same compiler as gtkmm? And with compatible compiler options?

Yes, everything (including all dependencies) is compiled with same compiler version (msvc-140).
I'm not sure what "compiler options" are considered compatible/non-compatible? but one thing is 100% sure: all sources has also been compiled with exactly the same compiler options (including all it's dependencies)

Compiler settings that I used can be reviewed in my github repo , I don't expect you'll really review them all but at least you can give some hint on what compiler options are bad, usually when compiling gtkmm, atkmm and others.


>Atk::Implementor's destructor should be practically a noop (no operation)

Yes, obviously Atk::Implementor's destructor deletes already freed memory, and if there is a way to make it "dead" destructor I think that should solve the problem.

What REALLY interests me is how is that gtkmm devs do not have this problem? it could be this happens only with MSVC compilers probably?

What you guys think?
please just give me any hint and I'll try it out whatever it takes.


On Mon, Nov 16, 2015 at 3:04 PM, Kjell Ahlstedt <kjell ahlstedt bredband net> wrote:
A crash in the Atk::Implementor's destructor is surprising. It's empty, and there are no data in Atk::Implementor. The same holds for its base class Glib::Interface. And Glib::Interface's base class Glib::ObjectBase is a virtual base class. Its destructor shall not be called from Glib::Interface's destructor. Thus, Atk::Implementor's destructor should be practically a noop (no operation).

Have you built atkmm with the same compiler as gtkmm? And with compatible compiler options?

Kjell

Den 2015-11-15 kl. 16:27, skrev codekiddy:
Hello there!

Just want to hear if anyone had the same problem as me...

Gtkmm can be compiled with or without atkmm support, and in my case compiling without atkmm works just fine,
but if I set  #define GTKMM_ATKMM_ENABLED when building gtkmm, then gtkmm applications will fail on run-time.
when closing an app, it will break in implementor.cc Implementor::~Implementor() noexcept {}  (atkmm source file).

Building with msvc-140, it does not matter which atkmm version I use, gtkmm apps always crash when closing them.
This is not the case and everything works fine if I do not define GTKMM_ATKMM_ENABLED during gtkmm compilation process.

Please give any advice on how to debug this problem.
Thank you so much!






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