Re: Gtk::Widget::on_hide



On 21/11/2013 09:17, Kjell Ahlstedt wrote:

Getting back to https://mail.gnome.org/archives/gtkmm-list/2013-November/msg00043.html, you say there, before you applied any patches, that gobject_ is set to 0 in Gtk::Object::disconnect_cpp_wrapper(), and then Gtk::Widget::on_unrealize() is called, and the program crashes there, because gobject_ == 0. But when disconnect_cpp_wrapper() sets gobject_ = 0, it also removes Glib::quark_ with g_object_steal_qdata((GObject*)gobj(), Glib::quark_). If that's done, on_unrealize() won't be called. See also https://mail.gnome.org/archives/gtkmm-list/2013-November/msg00045.html.


Thanks Kjell, I now understand what you meant when you said that 'steal_qdata' and 'set_qdata' weren't doing what they're supposed to do. It's academic now of course - but before I applied the patch, you must have been right with that assertion.



The most puzzling thing is why you are (as far as I know) the only one who have reported crashes with even the shortest possible gtkmm applications. Your problems are so severe that I would expect complaints from most affected users of gtkmm.


The only explanation I can think of is that something changed very very recently so most users haven't had time to encounter it yet. The main point is that it does seem likely that those patches are needed in 2.24.4.

As it happens I did encounter one snag while applying the patches but rather than describe it here I'll update the bug report later, so it's in the right place. Thanks for all the effort you've put into investigating this problem.

John


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