diff --git a/src/EditPerson.py b/src/EditPerson.py index 11ae0736b..92157c63d 100644 --- a/src/EditPerson.py +++ b/src/EditPerson.py @@ -1120,6 +1120,9 @@ def save_person(obj): if idval != person.getId(): m = epo.db.getPersonMap() if not m.has_key(idval): + if m.has_key(person.getId()): + del m[person.getId()] + m[idval] = person person.setId(idval) else: n = Config.nameof(m[idval]) diff --git a/src/gramps_main.py b/src/gramps_main.py index 548709b02..21689d52b 100755 --- a/src/gramps_main.py +++ b/src/gramps_main.py @@ -2064,7 +2064,10 @@ def on_spouselist_changed(obj): # #------------------------------------------------------------------------- def new_after_edit(epo): - database.addPerson(epo.person) + if epo.person.getId() == "": + database.addPerson(epo.person) + else: + database.addPersonNoMap(epo.person,epo.person.getId()) change_active_person(epo.person) redisplay_person_list(epo.person)