From 4c04fd93aeb9e70a1679a4974eebbfb69ae4f365 Mon Sep 17 00:00:00 2001 From: DarkPhoenix Date: Wed, 17 Apr 2019 22:37:44 +0300 Subject: [PATCH] Make sure position is returned as None in case the module cannot be found on passed fit --- eos/saveddata/module.py | 8 ++++++-- gui/fitCommands/calc/module/localReplace.py | 1 - 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/eos/saveddata/module.py b/eos/saveddata/module.py index 0c932c88b..b08a55961 100644 --- a/eos/saveddata/module.py +++ b/eos/saveddata/module.py @@ -246,8 +246,12 @@ class Module(HandledItem, HandledCharge, ItemAttrShortcut, ChargeAttrShortcut): # is set by sqlalchemy during flush fit = fit if fit is not None else self.owner if fit: - return fit.modules.index(self) if not self.isProjected else fit.projectedModules.index(self) - + container = fit.projectedModules if self.isProjected else fit.modules + try: + return container.index(self) + except ValueError: + return None + return None @property def isProjected(self): diff --git a/gui/fitCommands/calc/module/localReplace.py b/gui/fitCommands/calc/module/localReplace.py index 4452381f5..464fa85bc 100644 --- a/gui/fitCommands/calc/module/localReplace.py +++ b/gui/fitCommands/calc/module/localReplace.py @@ -50,7 +50,6 @@ class CalcReplaceLocalModuleCommand(wx.Command): pyfalog.warning('Invalid charge') self.Undo() return False - newMod.owner = fit try: fit.modules.replace(self.position, newMod) except HandledListActionError: