From 7c77e5d21c755a1505b9c3b3116812806c535f34 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Tue, 8 Apr 2014 14:44:50 +0530 Subject: [PATCH] Swallow index errors in the saved searches model as one user reports that they happen --- src/calibre/gui2/tweak_book/search.py | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/src/calibre/gui2/tweak_book/search.py b/src/calibre/gui2/tweak_book/search.py index 7376eeec7c..e76092770c 100644 --- a/src/calibre/gui2/tweak_book/search.py +++ b/src/calibre/gui2/tweak_book/search.py @@ -395,16 +395,19 @@ class SearchesModel(QAbstractListModel): return len(self.filtered_searches) def data(self, index, role): - if role == Qt.DisplayRole: - search = self.searches[self.filtered_searches[index.row()]] - return QVariant(search['name']) - if role == Qt.ToolTipRole: - search = self.searches[self.filtered_searches[index.row()]] - tt = '\n'.join((search['find'], search['replace'])) - return QVariant(tt) - if role == Qt.UserRole: - search = self.searches[self.filtered_searches[index.row()]] - return QVariant((self.filtered_searches[index.row()], search)) + try: + if role == Qt.DisplayRole: + search = self.searches[self.filtered_searches[index.row()]] + return QVariant(search['name']) + if role == Qt.ToolTipRole: + search = self.searches[self.filtered_searches[index.row()]] + tt = '\n'.join((search['find'], search['replace'])) + return QVariant(tt) + if role == Qt.UserRole: + search = self.searches[self.filtered_searches[index.row()]] + return QVariant((self.filtered_searches[index.row()], search)) + except IndexError: + pass return NONE def do_filter(self, text):