From 00e0901249d1bff00a3423106df38c6589a28d2e Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sat, 12 Oct 2013 22:35:15 +0530 Subject: [PATCH] Fix error if a marked book is deleted/merged. Fixes #1239161 [Unhandled exception using "Mark books" feature](https://bugs.launchpad.net/calibre/+bug/1239161) --- src/calibre/gui2/library/views.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/calibre/gui2/library/views.py b/src/calibre/gui2/library/views.py index ccf15a2be9..5aef45005f 100644 --- a/src/calibre/gui2/library/views.py +++ b/src/calibre/gui2/library/views.py @@ -693,7 +693,13 @@ class BooksView(QTableView): # {{{ self.alternate_views.marked_changed(old_marked, current_marked) if bool(old_marked) == bool(current_marked): changed = old_marked | current_marked - sections = tuple(map(self.model().db.data.id_to_index, changed)) + i = self.model().db.data.id_to_index + def f(x): + try: + return i(x) + except ValueError: + pass + sections = tuple(x for x in map(f, changed) if x is not None) self.row_header.headerDataChanged(Qt.Vertical, min(sections), max(sections)) else: # Marked items have either appeared or all been removed