GNOME Bugzilla – Bug 670380
g_object_set_qdata warnings on Meld custom widgets with pygtk 2.24
Last modified: 2014-07-20 02:06:40 UTC
Relevant comments in bug 666136. The warning is: /usr/lib/meld/meld/meldwindow.py:576: Warning: g_object_set_qdata: assertion `G_IS_OBJECT (object)' failed self.notebook.append_page( page.widget, nbl) This seems to occur whenever adding a custom widget. There's no obvious cause, and all of the widgets involved are quite clearly gobject-derived. Next step would probably to jhbuild pygtk releases between 2.22 and 2.24 to figure out what changed. This occurs on at least Fedora 16 and Ubuntu 11.10.
Quoted from bug 666136: "Thanks for the Windows pygtk version numbers - those are useful, and has narrowed the problem down more than I previously had. When you upgraded PyGtk, did that also involve upgrading Gtk itself?" I used the PyGtk all-in-one installer, which includes the windows Gtk+ bundle - version 2.24. Hope that helps. The warning doesn't seem to affect Meld's functionality at all on either my Ubuntu-11.10 or WindowsXP boxes. Also, on Ubuntu, if I use Meld from the desktop there are no warnings at all, the warning is only from the command line. I wish I could contribute to this, but I'm too inexperienced with Python and Gtk just now, maybe in future. Thanks for the great work! Meld is extremely useful! fyi: The warning at line: 576 is for Meld-1.5.3, the traceback for Meld-1.5.2 throws the warning at line: 580
I still don't have a fix, but I've tracked this down to diffmap.py line 51, where we connect to the style-set signal on the scrollbar that the DiffMap associates with. It's the actual connection rather than the callback that causes the warning, which doesn't make much sense to me. I can't see that we're doing anything incorrect here, but who can say... this may well be a PyGtk or Gtk+ bug, but I haven't been able to ascertain that, and can't figure out a workaround.
*** Bug 671278 has been marked as a duplicate of this bug. ***
I'm seeing this problem at 3 locations: /usr/share/meld/meld/filediff.py:247: Warning: g_object_set_qdata: assertion `G_IS_OBJECT (object)' failed self.widget.ensure_style() /usr/share/meld/meld/meldwindow.py:596: Warning: g_object_set_qdata: assertion `G_IS_OBJECT (object)' failed self.notebook.append_page( page.widget, nbl) /usr/share/meld/meld/meldwindow.py:582: Warning: g_object_set_qdata: assertion `G_IS_OBJECT (object)' failed self.notebook.remove_page(page_num) Version-1.7.0 on Fedora-18
Several of these warnings have been fixed, but the 1.8.x series is now well into maintenance mode, and fixing warnings that don't have actual repercussions just isn't going to happen realistically.