aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoss Burton <ross@burtonini.com>2020-09-24 15:25:53 +0100
committerSteve Sakoman <steve@sakoman.com>2020-12-01 04:05:42 -1000
commitd171188cf966852326916f726cbd3ca9627b831c (patch)
tree6a247ab16c5097f5cb4c6936923e5e45dc988e8c
parent89fc9450abefd682266efcbfa031d1ef115ff1a7 (diff)
downloadbitbake-contrib-d171188cf966852326916f726cbd3ca9627b831c.tar.gz
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 Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit ac7d1114a7e99e6efd6a37b03d170faf678513fb) Signed-off-by: Steve Sakoman <steve@sakoman.com>
-rw-r--r--lib/bb/ui/taskexp.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/lib/bb/ui/taskexp.py b/lib/bb/ui/taskexp.py
index 05e32338c..2b246710c 100644
--- a/lib/bb/ui/taskexp.py
+++ b/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))