Jakub Filak 3491150
From 4eefc61078eb21a7446d9030b14bd26abd10c72a Mon Sep 17 00:00:00 2001
Jakub Filak 3491150
From: Jakub Filak <jfilak@redhat.com>
Jakub Filak 3491150
Date: Fri, 13 Sep 2013 08:56:21 +0200
Jakub Filak 3491150
Subject: [GNOME-ABRT PATCH 1/3] Do not crash on None in signal handler
Jakub Filak 3491150
Jakub Filak 3491150
Closes rhbz#1005472
Jakub Filak 3491150
Jakub Filak 3491150
Signed-off-by: Jakub Filak <jfilak@redhat.com>
Jakub Filak 3491150
---
Jakub Filak 3491150
 src/gnome_abrt/views.py | 9 +++++++++
Jakub Filak 3491150
 1 file changed, 9 insertions(+)
Jakub Filak 3491150
Jakub Filak 3491150
diff --git a/src/gnome_abrt/views.py b/src/gnome_abrt/views.py
Jakub Filak 3491150
index 1d7ddb9..dfea616 100644
Jakub Filak 3491150
--- a/src/gnome_abrt/views.py
Jakub Filak 3491150
+++ b/src/gnome_abrt/views.py
Jakub Filak 3491150
@@ -497,6 +497,15 @@ class OopsWindow(Gtk.ApplicationWindow):
Jakub Filak 3491150
 
Jakub Filak 3491150
         if storage_problems:
Jakub Filak 3491150
             model = self._builder.tv_problems.get_model()
Jakub Filak 3491150
+
Jakub Filak 3491150
+            # For some strange reason, get_model() sometimes returns None when
Jakub Filak 3491150
+            # this function is called from a signal handler but the signal
Jakub Filak 3491150
+            # handler is synchronously called from GMainLoop so there is no
Jakub Filak 3491150
+            # place for race conditions. If the described situation arises,
Jakub Filak 3491150
+            # base model will be used.
Jakub Filak 3491150
+            if model is None:
Jakub Filak 3491150
+                model = self._builder.ls_problems
Jakub Filak 3491150
+
Jakub Filak 3491150
             pit = None
Jakub Filak 3491150
             if old_selection:
Jakub Filak 3491150
                 pit = self._find_problem_iter(old_selection[0], model)
Jakub Filak 3491150
-- 
Jakub Filak 3491150
1.8.3.1
Jakub Filak 3491150