Fix EditEventRef, EditPlaceRef, EditMediaRef, EditRepoRef for improperly (#1112)

saving objects in their object lists.

Fixes #11917, #11933
This commit is contained in:
Paul Culley 2020-09-14 11:12:12 -05:00 committed by GitHub
parent bd6e7c1007
commit 9938c71a1c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 8 additions and 7 deletions

View File

@ -26,7 +26,7 @@
# Python modules # Python modules
# #
#------------------------------------------------------------------------- #-------------------------------------------------------------------------
from copy import deepcopy
#------------------------------------------------------------------------- #-------------------------------------------------------------------------
# #
# gramps modules # gramps modules
@ -66,7 +66,7 @@ class EditEventRef(EditReference):
def __init__(self, state, uistate, track, event, event_ref, update): def __init__(self, state, uistate, track, event, event_ref, update):
EditReference.__init__(self, state, uistate, track, event, event_ref, EditReference.__init__(self, state, uistate, track, event, event_ref,
update) update)
self.original = event.serialize() self.original = deepcopy(event.serialize())
self._init_event() self._init_event()
def _local_init(self): def _local_init(self):

View File

@ -29,6 +29,7 @@
# #
#------------------------------------------------------------------------- #-------------------------------------------------------------------------
import os import os
from copy import deepcopy
#------------------------------------------------------------------------- #-------------------------------------------------------------------------
# #
@ -85,7 +86,7 @@ class EditMediaRef(EditReference):
AddMedia(state, self.uistate, self.track, self.source, AddMedia(state, self.uistate, self.track, self.source,
self._update_addmedia) self._update_addmedia)
else: else:
self.original = self.source.serialize() self.original = deepcopy(self.source.serialize())
def _local_init(self): def _local_init(self):

View File

@ -18,7 +18,7 @@
# along with this program; if not, write to the Free Software # along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
# #
from copy import deepcopy
#------------------------------------------------------------------------- #-------------------------------------------------------------------------
# #
# Gramps modules # Gramps modules
@ -51,7 +51,7 @@ class EditPlaceRef(EditReference):
def __init__(self, state, uistate, track, place, place_ref, update): def __init__(self, state, uistate, track, place, place_ref, update):
EditReference.__init__(self, state, uistate, track, place, place_ref, EditReference.__init__(self, state, uistate, track, place, place_ref,
update) update)
self.original = place.serialize() self.original = deepcopy(place.serialize())
def _local_init(self): def _local_init(self):

View File

@ -24,7 +24,7 @@
# Python modules # Python modules
# #
#------------------------------------------------------------------------- #-------------------------------------------------------------------------
from copy import deepcopy
#------------------------------------------------------------------------- #-------------------------------------------------------------------------
# #
# gramps modules # gramps modules
@ -51,7 +51,7 @@ class EditRepoRef(EditReference):
EditReference.__init__(self, state, uistate, track, source, EditReference.__init__(self, state, uistate, track, source,
source_ref, update) source_ref, update)
self.original = source.serialize() self.original = deepcopy(source.serialize())
def _local_init(self): def _local_init(self):