So the attached patch against gtk+ outlines what we *may* need to do. The problem seems to be that
when python calls destroy() on a object it may not actually be destroyed yet because the pygi part still
has references. So we need to move the actual cleanup into the finalize functions instead of into destroy.
This is is line with what other widgets are doing, e.g.:
GtkWidget *button = gtk_image_new();
gtk_widget_destroy(button);
gtk_button_set_label(button, "foo");
So the attached patch against gtk+ outlines what we *may* need to do. The problem seems to be that
when python calls destroy() on a object it may not actually be destroyed yet because the pygi part still
has references. So we need to move the actual cleanup into the finalize functions instead of into destroy.
This is is line with what other widgets are doing, e.g.: widget_ destroy( button) ; button_ set_label( button, "foo");
GtkWidget *button = gtk_image_new();
gtk_
gtk_
causes a warning but not a crash.