From 42f3f31711b32f2ed82a1487e9584ea2536dd2af Mon Sep 17 00:00:00 2001 From: James Cameron Date: Tue, 25 Feb 2020 08:19:44 +1100 Subject: [PATCH] Fix AttributeError on GTK 3.24.14 GTK 3.24.14 introduced a breaking change to fix a constructor for Gtk.TreeModelSort. e3247ed0d9 ("Annotate GtkTreeModelSort.new_with_model() appropriately") https://gitlab.gnome.org/GNOME/gtk/issues/1077 https://bugzilla.gnome.org/show_bug.cgi?id=680009 https://bugzilla.gnome.org/show_bug.cgi?id=634823 Reported-by: Peter Robinson Signed-off-by: James Cameron --- logviewer.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/logviewer.py b/logviewer.py index 1c33937..22d5b11 100644 --- a/logviewer.py +++ b/logviewer.py @@ -109,8 +109,13 @@ def _build_treeview(self): self._treemodel = Gtk.TreeStore(GObject.TYPE_STRING, GObject.TYPE_STRING) - # README: https://bugzilla.gnome.org/show_bug.cgi?id=680009 - sorted = self._treemodel.sort_new_with_model() + if hasattr(Gtk.TreeModelSort, 'new_with_model'): + # GTK 3.24.14 and later + sorted = Gtk.TreeModelSort.new_with_model(self._treemodel) + else: + # GTK 3.24.13 and earlier, gtk/e3247ed0d9 + sorted = self._treemodel.sort_new_with_model() + sorted.set_sort_column_id(0, Gtk.SortType.ASCENDING) sorted.set_sort_func(0, self._sort_logfile) self._treeview.set_model(sorted)