From: John R. <jr...@ce...> - 2014-02-25 22:10:29
|
On Feb 25, 2014, at 11:40 AM, Jerome <rom...@ya...> wrote: > John, > > > This one might be specific to Ubuntu (Gtk+ 3.10.7 + pygobject 3.11.90): > > /usr/lib/python2.7/dist-packages/gramps/gui/editors/displaytabs/backrefmodel.py:60: PyGIDeprecationWarning: idle_add is deprecated; use GLib.idle_add instead > self.idle = GObject.idle_add(self.load_model().next) > > https://gramps-project.org/bugs/view.php?id=7502#c34917 > https://gramps-project.org/bugs/view.php?id=7502#c34926 > > An other one seems too general (Gtk+ deprecations) and sounds like a future problem? > > /usr/lib/python2.7/dist-packages/gramps/gui/dialog.py:192: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keywords for parent or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations [^] > buttons=Gtk.ButtonsType.CLOSE) > /usr/lib/python2.7/dist-packages/gramps/gui/dialog.py:192: PyGTKDeprecationWarning: The keyword(s) "type" have been deprecated in favor of "message_type" respectively. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations [^] > buttons=Gtk.ButtonsType.CLOSE) > /usr/lib/python2.7/dist-packages/gramps/gui/dialog.py:192: PyGTKDeprecationWarning: The "flags" argument for dialog construction is deprecated. Please use initializer keywords: modal=True and/or destroy_with_parent=True. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations [^] > buttons=Gtk.ButtonsType.CLOSE) > /usr/lib/python2.7/dist-packages/gi/overrides/Gtk.py:497: PyGTKDeprecationWarning: The keyword(s) "parent" have been deprecated in favor of "transient_for" respectively. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations [^] > self._init(*args, **new_kwargs) > > https://gramps-project.org/bugs/view.php?id=7501#c34918 Haven’t we been around this block before? First of all, deprecation warnings are just that, warnings. They mean that the API is going to change, that the new API is available, but the old API still works. GObject.idle_add? Where did that come from, and how does it make sense? It’s not and never has been in the C API. Was it some sort of bizarre PyGTK holdover? Gtk2 had a gtk_idle_add, but it was deprecated in 2.4 in favor of g_idle_add. Did that get turned into GObject.idle_add somehow? Anyway, fix it. There’s no excuse for that to be there. Unless prevented by some PyGtk weirdness that fix should be back ported to 3.4. Did you *read* the InitializerDeprecations page? This is a non-problem, both the old and new names will work across all of PyGObject 3.x.x. We *should* fix everything to use the new names, but there’s no huge rush. Note that the warnings only show up in development releases. The person who filed 7501 was running a development release of Ubuntu, and I guess that’s a good thing because we wouldn’t have known about the warnings otherwise. None of this is any reason to block Gtk or PyGObject 3.12. Regards, John Ralls |