GNOME Bugzilla – Bug 661359
Something is wrong with editing-started signal
Last modified: 2013-02-05 15:20:16 UTC
Created attachment 198701 [details] tree view I am attaching a test case, see that if you click on the cell to edit it a warning is provided. Something like: (gedit:11919): Gtk-CRITICAL **: gtk_cell_area_activate_cell: assertion `GTK_IS_CELL_EDITABLE (editable_widget)' failed Might be that editable is an interface btw.
*** Bug 661671 has been marked as a duplicate of this bug. ***
So if you get rid of the start signal it works. We are somehow refcounting wrong here. The issue happens when the cell creates a entry widget with a refcount of 1. It then passes this widget to the on_view_label_cell_editing_started python signal handler. At the end of the handler we unref the widget even though we don't own it. This could be an annotation issue or something deeper.
Created attachment 199033 [details] [review] when converting an object with transfer none, make sure the wrapper owns a ref
Patch fixes refcount signal issue. Please test. Looking to add a unit test
Created attachment 199037 [details] [review] unit test for checking ref count of object param in signals
Unit test needs new GI from head but I didn't up the required version since runtime doesn't need it
*** Bug 660196 has been marked as a duplicate of this bug. ***
It works now, although I get some warnings pointed below, I guess that this is another bug. Or maybe is related with your patch... (gedit:4235): GLib-GObject-CRITICAL **: g_object_ref: assertion `G_IS_OBJECT (object)' failed (gedit:4235): GLib-GObject-CRITICAL **: g_value_set_object: assertion `G_IS_OBJECT (v_object)' failed (gedit:4235): GLib-GObject-CRITICAL **: g_object_weak_ref: assertion `G_IS_OBJECT (object)' failed ** (gedit:4235): CRITICAL **: atk_object_add_relationship: assertion `ATK_IS_OBJECT (object)' failed (gedit:4235): GLib-GObject-CRITICAL **: g_object_weak_unref: assertion `G_IS_OBJECT (object)' failed (gedit:4235): GLib-GObject-CRITICAL **: g_object_ref: assertion `G_IS_OBJECT (object)' failed (gedit:4235): GLib-GObject-CRITICAL **: g_value_set_object: assertion `G_IS_OBJECT (v_object)' failed (gedit:4235): GLib-GObject-CRITICAL **: g_object_weak_ref: assertion `G_IS_OBJECT (object)' failed ** (gedit:4235): CRITICAL **: atk_object_add_relationship: assertion `ATK_IS_OBJECT (object)' failed (gedit:4235): GLib-GObject-CRITICAL **: g_object_weak_unref: assertion `G_IS_OBJECT (object)' failed
So after checking the bt, seems that it is a problem with accesibility. This fixes the problem thanks.
*** Bug 662135 has been marked as a duplicate of this bug. ***
I think there is something broken here now, I get: ====================================================================== ERROR: test_object_param_signal (test_everything.TestSignals) ---------------------------------------------------------------------- Traceback (most recent call last):
+ Trace 228882
obj.connect('sig-with-obj', callback)
So the problem is that the patch for this test is in g-i master but not in gnome-3-2. We will need a g-i release before we can release pygobject.
I think I already discussed this with you. As long as the tests pass on the developers system we can do the release. If we feel this is wrong we need to setup a two tiered system were we add tests to pygobject itself and once we have a release of gobject-introspeciton we switch to using that.
yup, I sent that comment before we spoke by IRC. The release was already done.