From 6b37e2c9737ea9d8585e22710aa56cad9fd08888 Mon Sep 17 00:00:00 2001 From: Ebag333 Date: Fri, 10 Feb 2017 10:09:11 -0800 Subject: [PATCH] More clean handling of possibly missing attributes. Thanks @blitzmann! --- gui/builtinViews/fittingView.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/gui/builtinViews/fittingView.py b/gui/builtinViews/fittingView.py index 3a9459c97..9235eb7cb 100644 --- a/gui/builtinViews/fittingView.py +++ b/gui/builtinViews/fittingView.py @@ -405,12 +405,15 @@ class FittingView(d.Display): if mod1.slot != mod2.slot: return - if clone and mod2.isEmpty: - sFit.cloneModule(self.mainFrame.getActiveFit(), srcIdx, getattr(mod2, "modPosition", dstRow)) - else: - sFit.swapModules(self.mainFrame.getActiveFit(), srcIdx, getattr(mod2, "modPosition", dstRow)) + if getattr(mod2, "modPosition"): + if clone and mod2.isEmpty: + sFit.cloneModule(self.mainFrame.getActiveFit(), srcIdx, mod2.modPosition) + else: + sFit.swapModules(self.mainFrame.getActiveFit(), srcIdx, mod2.modPosition) - wx.PostEvent(self.mainFrame, GE.FitChanged(fitID=self.mainFrame.getActiveFit())) + wx.PostEvent(self.mainFrame, GE.FitChanged(fitID=self.mainFrame.getActiveFit())) + else: + logger.error("Missing module position for: %s", str(getattr(mod2, "ID", "Unknown"))) def generateMods(self): """