Bug#710465: python-gobject-2: super(class, obj) does not more work after update from 2.28.6-10 to 2.28.6-12

Junior Polegato linux at juniorpolegato.com.br
Fri May 31 02:10:51 UTC 2013


Package: python-gobject-2
Version: 2.28.6-12
Severity: important


Dear Maintainer,

   * What led up to the situation?

My custom widget Editor from gtk.Entry does not more work with super(class,
obj) in method do_key_press_event

   * What exactly did you do (or not do) that was effective (or ineffective)?

In this minimal example bellow, the line 10 is the problem:

import gtk
class Editor(gtk.Entry, gtk.Buildable):
....__gtype_name__ = 'Editor'
....__gsignals__ = {
........"key-press-event": "override",
....}
....def __init__(self, *args, **kargs):
........super(Editor, self).__init__(*args, **kargs)
....def do_key_press_event(self, event):
........super(Editor, self).do_key_press_event(event)
w = gtk.Window()
w.connect('delete-event', gtk.main_quit)
e = Editor()
w.add(e)
w.show_all()
gtk.main()

In this case I get this error:

Traceback (most recent call last):
  File "teste.py", line 10, in do_key_press_event
    super(Editor, self).do_key_press_event(event)
TypeError: Gtk.Widget.key_press_event() argument 1 must be gtk.Widget, not
gtk.gdk.Event

Then I put "self" explicitly and I get a infinity loop:

Traceback (most recent call last):
  File "teste.py", line 10, in do_key_press_event
    super(Editor, self).do_key_press_event(self, event)
RuntimeError: maximum recursion depth exceeded while calling a Python object

But if I replace "super" by "gtk.Entry", this example works fine, like was in
2.28.6-10.

Now do I need to use static method class call instead "super"?

Thanks,
Junior Polegato



-- System Information:
Debian Release: jessie/sid
  APT prefers testing
  APT policy: (900, 'testing'), (65, 'stable'), (60, 'unstable'), (55, 'experimental')
Architecture: i386 (i686)

Kernel: Linux 3.2.0-4-686-pae (SMP w/2 CPU cores)
Locale: LANG=pt_BR.UTF-8, LC_CTYPE=pt_BR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages python-gobject-2 depends on:
ii  libc6         2.17-3
ii  libffi6       3.0.13-4
ii  libglib2.0-0  2.36.1-2build1
ii  python        2.7.3-5

python-gobject-2 recommends no packages.

Versions of packages python-gobject-2 suggests:
pn  python-gobject-2-dbg  <none>

-- no debconf information




More information about the pkg-gnome-maintainers mailing list