summaryrefslogtreecommitdiffstats
path: root/bitbake
diff options
context:
space:
mode:
authorRoss Burton <ross@burtonini.com>2020-09-24 15:25:53 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2020-09-24 22:34:16 +0100
commitbefe6d2cecacf8d43f2ae0cd697d4479af6fef95 (patch)
treed99bcb661f32659dba29d8057a2c2b177fdc5af2 /bitbake
parent1a9e0997c8d8aa9bb3b72e2e9e5ceaea3f2aac0b (diff)
downloadpoky-befe6d2cecacf8d43f2ae0cd697d4479af6fef95.tar.gz
poky-befe6d2cecacf8d43f2ae0cd697d4479af6fef95.tar.bz2
poky-befe6d2cecacf8d43f2ae0cd697d4479af6fef95.zip
bitbake: taskexp: update for GTK API changes
The introspected API for GtkTreeModel and friends had some unexpected quirks which have now been fixed, see[1] for details. However, for example Ubuntu 20.04 has the fixed GTK but not an updated pygobject which means taskexp raises an exception on startup. Solve by manually looking at what functions are present and calling the right one. [ YOCTO #14055 ] [1] https://gitlab.gnome.org/GNOME/pygobject/-/commit/9cdbc56fbac4db2de78dc080934b8f0a7efc892a (Bitbake rev: ac7d1114a7e99e6efd6a37b03d170faf678513fb) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake')
-rw-r--r--bitbake/lib/bb/ui/taskexp.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/bitbake/lib/bb/ui/taskexp.py b/bitbake/lib/bb/ui/taskexp.py
index 05e32338c2..2b246710ca 100644
--- a/bitbake/lib/bb/ui/taskexp.py
+++ b/bitbake/lib/bb/ui/taskexp.py
@@ -58,7 +58,12 @@ class PackageReverseDepView(Gtk.TreeView):
self.current = None
self.filter_model = model.filter_new()
self.filter_model.set_visible_func(self._filter)
- self.sort_model = self.filter_model.sort_new_with_model()
+ # The introspected API was fixed but we can't rely on a pygobject that hides this.
+ # https://gitlab.gnome.org/GNOME/pygobject/-/commit/9cdbc56fbac4db2de78dc080934b8f0a7efc892a
+ if hasattr(Gtk.TreeModelSort, "new_with_model"):
+ self.sort_model = Gtk.TreeModelSort.new_with_model(self.filter_model)
+ else:
+ self.sort_model = self.filter_model.sort_new_with_model()
self.sort_model.set_sort_column_id(COL_DEP_PARENT, Gtk.SortType.ASCENDING)
self.set_model(self.sort_model)
self.append_column(Gtk.TreeViewColumn(label, Gtk.CellRendererText(), text=COL_DEP_PARENT))