Blob Blame History Raw
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)