Merge lp:~pitti/ubuntuone-control-panel/gi-fixes into lp:ubuntuone-control-panel
Status: | Merged | ||||
---|---|---|---|---|---|
Approved by: | Natalia Bidart | ||||
Approved revision: | 206 | ||||
Merged at revision: | 204 | ||||
Proposed branch: | lp:~pitti/ubuntuone-control-panel/gi-fixes | ||||
Merge into: | lp:ubuntuone-control-panel | ||||
Diff against target: |
138 lines (+20/-16) 4 files modified
ubuntuone/controlpanel/dbus_service.py (+12/-4) ubuntuone/controlpanel/dbustests/test_dbus_service.py (+1/-1) ubuntuone/controlpanel/gui/gtk/gui.py (+2/-7) ubuntuone/controlpanel/gui/gtk/tests/test_gui.py (+5/-4) |
||||
To merge this branch: | bzr merge lp:~pitti/ubuntuone-control-panel/gi-fixes | ||||
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Natalia Bidart (community) | Approve | ||
Martin Pitt (community) | Abstain | ||
dobey (community) | Abstain | ||
Review via email: mp+72449@code.launchpad.net |
Commit message
Make the library work with both GI and static bindings, and consistently use static bindings in the GTK UI. (LP: #829186)
Description of the change
pygobject >= 2.90 is now absolutely zero tolerant against importing both the
static and the GI version of a particular library. This was mostly the case
with 2.28 as well, but did work in some cases (like "import gobject; from
gi.repository import Gtk", in particular for "glib" and "gobject"). These now
cause errors as well.
The GTK frontend has a rather long dependency chain, and porting it to
GTK3/PyGI is going to take a while. It is too risky for Ubuntu Oneiric at this
point. (See lp:~pitti/+junk/u1-control-panel-pygi for my current progress with
this).
On the other hand, the backend already uses the Soup GNOME module, which does
not have an 1:1 equivalent with a static binding. So fix up the last remaining
bit to make this use the GI bindings consistently.
With the fix from this branch we can use the web client library from both
programs with static bindings (GTK frontend), as well as from programs which
use the gobject-
See bug 829186 for more details.
The branch looks great, but, instead of reimplementing the humanize function, please use the one defined in ubuntone. controlpanel. gui.
Thanks a lot for helping us!