diff --git a/qt/aqt/addcards.py b/qt/aqt/addcards.py index 9f95736b9..bd473210c 100644 --- a/qt/aqt/addcards.py +++ b/qt/aqt/addcards.py @@ -100,20 +100,18 @@ class AddCards(QDialog): newFields = list(note.keys()) for n, f in enumerate(note.model()["flds"]): fieldName = f["name"] - try: - oldFieldName = oldNote.model()["flds"][n]["name"] - except IndexError: - oldFieldName = None # copy identical fields if fieldName in oldFields: note[fieldName] = oldNote[fieldName] - # set non-identical fields by field index - elif oldFieldName and oldFieldName not in newFields: - try: + elif n < len(oldNote.model()["flds"]): + # set non-identical fields by field index + oldFieldName = oldNote.model()["flds"][n]["name"] + if oldFieldName not in newFields: note.fields[n] = oldNote.fields[n] - except IndexError: - pass self.removeTempNote(oldNote) + self.editor.note = note + # When on model change is called, reset is necessarily called. + # Reset load note, so it is not required to load it here. def onReset(self, model: None = None, keep: bool = False) -> None: oldNote = self.editor.note