Re: Gtk::Widget::on_hide



On 20/11/2013 08:43, Kjell Ahlstedt wrote:

Calling virtual functions from constructors and destructors is best avoided. It's not always easy to guess which override will be called.


Agreed Kjell. I just wanted to draw it to your attention that this was happening. I've done much more testing today and I'm satisfied that applying those patches from yesterday has fixed the crashing issue. Only one thing remains puzzling me...

On 19/11/2013 15:48, Kjell Ahlstedt wrote:

You mentioned in https://mail.gnome.org/archives/gtkmm-list/2013-November/msg00022.html that you have "glibmm_Glib::quark_" in the list of GQuarks, when I have "glibmm_Glib::quark_cpp_wrapper_deleted_". It's as if

    g_object_steal_qdata((GObject*)gobj(), Glib::quark_);
g_object_set_qdata((GObject*)gobj(), Glib::quark_cpp_wrapper_deleted_, (gpointer)true);

in Gtk::Object::disconnect_cpp_wrapper() don't do what they should. Confusing!

What's confusing to me is that your code ever reaches those two lines! When I close my test window (MyDialog), the function Object::destroy_notify_() invariably gets called before Object::disconnect_cpp_wrapper(). Since Object::destroy_notify_() sets 'gobject_' to NULL, I don't see how those lines can ever get reached... ??? Should it be setting 'gobject_ to NULL or is there a bit of the patch missing?

Apart from that little quirk it's all much more solid today than it was yesterday.

John


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