From 42f3f31711b32f2ed82a1487e9584ea2536dd2af Mon Sep 17 00:00:00 2001
From: James Cameron <quozl@laptop.org>
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 <pbrobinson@gmail.com>
Signed-off-by: James Cameron <quozl@laptop.org>
---
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)