Hey guys, first thank you Kjell and and big thanks you John for taking the
time to rebuild gtkmm to confirm the issue!!

I posted this problem 9 months ago here on gtkmm-list (first time compiling
with msvc then) but didn't get any reply, finally it looks there indeed is
a bug or something...
I thought it was my fail with compilation or something...

I'm looking forward for replies, I'm not comfortable in debugging glib,
atkmm and such since I don't know the code well, but, maybe we should open
a bug-ticket on gnome or github?

Thanks!

On Tue, Nov 17, 2015 at 12:31 PM, John Emmas <[email protected]>
wrote:

> On 17/11/2015 09:07, Kjell Ahlstedt wrote:
>
>
> You mentioned in an earlier post that the error you see is a double
> deletion of some memory. [...] Therefore I ran the toolbar example program
> in the gtkmm tutorial (which allocates some widgets on the heap) with
> valgrind. It reported some lost (leaked) memory. That's normal with
> programs that use glib and gtk+. No other memory problems. And I checked
> with gdb that Atk::Implementor::~Implementor() was called several times.
>
>
> Hi Kjell - presumably you built with gcc, yes..?
>
> I'm actually building with MSVC-8 but for the hell of it, I re-built Gtkmm
> this morning - this time making sure that GTKMM_ATKMM_ENABLED was
> definitely #defined.  Believe it or not I see the same crash as codekiddy!
> I used a very simple application:-
>
>     int main (int argc, char *argv[])
>     {
>         Gtk::Main       app (&argc, &argv); // Calls 'gtk_init()'
>         Gtk::Window  mainWnd;
>
>         mainWnd.set_title ("Whatever");
>
>         app.run (mainWnd);
>
>         return 0;
>     }
>
> When I attempt to close the app's window it crashes in the d'tor for
> Glib::Atk::Implementor.  More specifically, it crashes at this code in
> 'glibmm/glib/glibmm/refptr.h':-
>
>     template <class T_CppObject> inline
>     RefPtr<T_CppObject>::~RefPtr()
>     {
>       if(pCppObject_)
>         pCppObject_->unreference(); // This could cause pCppObject to be
> deleted.
>         //  ^ ^ ^  CRASH HAPPENS HERE
>     }
>
> and the above seems to get called during this 'destroy_()' call in
> 'gtkmm/gtk/gtkmm/window.cc':-
>
>     Window::~Window()
>     {
>       destroy_();
>     }
>
> My guess would be that there is indeed some kind of double deletion
> happening.  I'll spend another hour or so on it and see if I can get any
> further...
>
> John
>
> _______________________________________________
> gtkmm-list mailing list
> [email protected]
> https://mail.gnome.org/mailman/listinfo/gtkmm-list
>
>
_______________________________________________
gtkmm-list mailing list
[email protected]
https://mail.gnome.org/mailman/listinfo/gtkmm-list

Reply via email to