From d8f1eb99cba415e58e29099b779405d0b0afaa17 Mon Sep 17 00:00:00 2001
From: Yann Leboulanger <asterix@lagaule.org>
Date: Sat, 6 Oct 2012 19:07:48 +0200
Subject: [PATCH] prevent some traceback. see #7152

---
 src/roster_window.py | 27 ++++++++++++++++++++++-----
 1 file changed, 22 insertions(+), 5 deletions(-)

diff --git a/src/roster_window.py b/src/roster_window.py
index 7568b12d61..0a6a123def 100644
--- a/src/roster_window.py
+++ b/src/roster_window.py
@@ -5059,7 +5059,10 @@ class RosterWindow:
         """
         When a row is added, set properties for icon renderer
         """
-        type_ = model[titer][C_TYPE]
+        try:
+            type_ = model[titer][C_TYPE]
+        except TypeError:
+            return
         if type_ == 'account':
             self._set_account_row_background_color(renderer)
             renderer.set_property('xalign', 0)
@@ -5089,8 +5092,11 @@ class RosterWindow:
         """
         When a row is added, set properties for name renderer
         """
+        try:
+            type_ = model[titer][C_TYPE]
+        except TypeError:
+            return
         theme = gajim.config.get('roster_theme')
-        type_ = model[titer][C_TYPE]
         if type_ == 'account':
             color = gajim.config.get_per('themes', theme, 'accounttextcolor')
             if color:
@@ -5152,7 +5158,10 @@ class RosterWindow:
         """
         When a row is added, draw the respective pep icon
         """
-        type_ = model[titer][C_TYPE]
+        try:
+            type_ = model[titer][C_TYPE]
+        except TypeError:
+            return
 
         # allocate space for the icon only if needed
         if not model[titer][data]:
@@ -5176,7 +5185,11 @@ class RosterWindow:
         """
         When a row is added, set properties for avatar renderer
         """
-        type_ = model[titer][C_TYPE]
+        try:
+            type_ = model[titer][C_TYPE]
+        except TypeError:
+            return
+
         if type_ in ('group', 'account'):
             renderer.set_property('visible', False)
             return
@@ -5208,7 +5221,11 @@ class RosterWindow:
         """
         When a row is added, set properties for padlock renderer
         """
-        type_ = model[titer][C_TYPE]
+        try:
+            type_ = model[titer][C_TYPE]
+        except TypeError:
+            return
+
         # allocate space for the icon only if needed
         if type_ == 'account' and model[titer][C_PADLOCK_PIXBUF]:
             renderer.set_property('visible', True)
-- 
GitLab