Comment 14 for bug 1075399

Revision history for this message
isis (isis) wrote :

With Python 2.7.3 on a (mostly) Debian sid system, I get the following:

$ wicd-curses --version
wicd-curses-uimod (using wicd 1.7.2.4)
$ python -c "import urwid; print urwid.VERSION"
(1, 1, 1)

$ wicd-curses

Traceback (most recent call last):
  File "/usr/share/wicd/curses/wicd-curses.py", line 1063, in <module>
    main()
  File "/usr/share/wicd/curses/wicd-curses.py", line 995, in main
    ui.run_wrapper(run)
  File "/usr/local/lib/python2.7/dist-packages/urwid/raw_display.py", line 242, in run_wrapper
    return fn()
  File "/usr/share/wicd/curses/wicd-curses.py", line 88, in wrapper
    return func(*args, **kargs)
  File "/usr/share/wicd/curses/wicd-curses.py", line 1003, in run
    app = appGUI()
  File "/usr/share/wicd/curses/wicd-curses.py", line 548, in __init__
    self.wiredCB = urwid.Filler(WiredComboBox(wiredL))
  File "/usr/share/wicd/curses/wicd-curses.py", line 378, in __init__
    self.__super.__init__(use_enter=False)
  File "/usr/share/wicd/curses/curses_misc.py", line 352, in __init__
    self.focus = focus
AttributeError: can't set attribute

This is due to curses_misc.ComboBox.focus being a property descriptor, and while the property setter set_focus() is defined in curses_misc.ComboBox, the getter and deleter methods are not, and @property methods are not inherited from their parent classes.

The attached patch fixes the problem for my system.