diff --git a/src/calibre/db/cache.py b/src/calibre/db/cache.py index ed29b05c31..04793117b9 100644 --- a/src/calibre/db/cache.py +++ b/src/calibre/db/cache.py @@ -2397,6 +2397,8 @@ class Cache: values, not field ids. returns books changed by setting the link + + NB: this method doesn't change values not in the value_to_link_map ''' if field not in self.fields: raise ValueError(f'Lookup name {field} is not a valid name') diff --git a/src/calibre/gui2/dialogs/tag_list_editor.py b/src/calibre/gui2/dialogs/tag_list_editor.py index 355a7cf344..d0436dc238 100644 --- a/src/calibre/gui2/dialogs/tag_list_editor.py +++ b/src/calibre/gui2/dialogs/tag_list_editor.py @@ -546,6 +546,8 @@ class TagListEditor(QDialog, Ui_TagListEditor): self.table.blockSignals(False) def finish_editing(self, edited_item): + if edited_item.column != 0: + return if not edited_item.text(): error_dialog(self, _('Item is blank'), _( 'An item cannot be set to nothing. Delete it instead.'), show=True) @@ -680,7 +682,5 @@ class TagListEditor(QDialog, Ui_TagListEditor): def accepted(self): self.links = {} for r in range(0, self.table.rowCount()): - l = self.table.item(r, 3).text() - if l: - self.links[self.table.item(r, 0).text()] = l + self.links[self.table.item(r, 0).text()] = self.table.item(r, 3).text() self.save_geometry()