diff --git a/gui/builtinViews/fittingView.py b/gui/builtinViews/fittingView.py index 4aae999df..5c7a629a1 100644 --- a/gui/builtinViews/fittingView.py +++ b/gui/builtinViews/fittingView.py @@ -382,8 +382,7 @@ class FittingView(d.Display): else: cFit.swapModules(self.mainFrame.getActiveFit(), mod1.position, mod2.position) - self.generateMods() - self.refresh(self.mods) + wx.PostEvent(self.mainFrame, GE.FitChanged(fitID=self.mainFrame.getActiveFit())) def generateMods(self): ''' diff --git a/service/fit.py b/service/fit.py index 46167a88e..685b71886 100644 --- a/service/fit.py +++ b/service/fit.py @@ -454,17 +454,17 @@ class Fit(object): fit = eos.db.getFit(fitID) # Gather modules srcMod = fit.modules[src] - dstMod = fit.modules[dst] + dstMod = fit.modules[dst] # should be a placeholder module new = copy.deepcopy(srcMod) + new.owner = fit + if new.fits(fit): + # insert copy if module meets hardpoint restrictions + fit.modules.remove(dstMod) + fit.modules.insert(dst, new) - # remove empty mod - fit.modules.remove(dstMod) - - # insert copy - fit.modules.insert(dst, new) - - eos.db.commit() + eos.db.commit() + self.recalc(fit) def addCargo(self, fitID, itemID, amount): if fitID == None: