Gobject Introspection update broke dmedia

Bug #728769 reported by Jason Gerard DeRose
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Dmedia
Fix Released
Critical
Jason Gerard DeRose

Bug Description

Natty update today broke dmedia. From what I can tell so far, the new GI bindings aren't playing nice with the traditional gtk/gobject bindings. The `dummy-client` script is simple and illustrates the problem. It can be fixed by replacing:

import gtk

With:

from gi.repository import Gtk

(and replacing references to gtk with Gtk). But dmedia seems broken other places to, probably because various `import gobject`. I guess it's as good a time as any to switch the GI bindings wherever possible.

Here's the trace from running `./dummy-client`:

Traceback (most recent call last):
  File "./dummy-client", line 34, in <module>
    view = WebKit.WebView()
  File "/usr/lib/pymodules/python2.7/gi/module.py", line 261, in __getattr__
    return getattr(self._introspection_module, name)
  File "/usr/lib/pymodules/python2.7/gi/module.py", line 142, in __getattr__
    parent = get_parent_for_object(info)
  File "/usr/lib/pymodules/python2.7/gi/module.py", line 67, in get_parent_for_object
    module = __import__('gi.repository.%s' % namespace, fromlist=[name])
  File "/usr/lib/pymodules/python2.7/gi/importer.py", line 77, in load_module
    dynamic_module._load()
  File "/usr/lib/pymodules/python2.7/gi/module.py", line 242, in _load
    overrides_modules = __import__('gi.overrides', fromlist=[self._namespace])
  File "/usr/lib/pymodules/python2.7/gi/overrides/Gtk.py", line 46, in <module>
    Widget = override(Widget)
  File "/usr/lib/pymodules/python2.7/gi/overrides/__init__.py", line 63, in override
    registry.register(type_)
  File "/usr/lib/pymodules/python2.7/gi/overrides/__init__.py", line 38, in register
    self[override_class] = override_class
  File "/usr/lib/pymodules/python2.7/gi/overrides/__init__.py", line 20, in __setitem__
    info = getattr(value, '__info__')
AttributeError: type object 'Widget' has no attribute '__info__'

Tags: gi

Related branches

Revision history for this message
Jason Gerard DeRose (jderose) wrote :

Okay, have confirmed that python-gobject was the offending update.

If I downgrade to pygobject 2.27.90-0ubuntu1 (python-gobject and python-gobject-cairo binary packages), this problem is fixed.

Revision history for this message
Jason Gerard DeRose (jderose) wrote :
Changed in dmedia:
status: In Progress → Fix Committed
Changed in dmedia:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.