diff --git a/gui/chromeTabs.py b/gui/chromeTabs.py index 09bbcfb0a..0c7819f18 100644 --- a/gui/chromeTabs.py +++ b/gui/chromeTabs.py @@ -102,7 +102,7 @@ class PFNotebook(wx.Panel): return self.pages[i] def SetPage(self, i, page): - if i >= len(self.pages): + if i >= len(self.pages) or i is None or page is None: return oldPage = self.pages[i] @@ -123,7 +123,7 @@ class PFNotebook(wx.Panel): return self.activePage def GetPageIndex(self, page): - return self.pages.index(page) + return self.pages.index(page) if page in self.pages else None def GetSelection(self): return self.GetPageIndex(self.activePage) diff --git a/gui/fittingView.py b/gui/fittingView.py index c3c1a0e63..f00d74560 100644 --- a/gui/fittingView.py +++ b/gui/fittingView.py @@ -100,6 +100,9 @@ class FittingView(d.Display): self.Bind(wx.EVT_RIGHT_DOWN, self.click) self.parent.Bind(gui.chromeTabs.EVT_NOTEBOOK_PAGE_CHANGED, self.pageChanged) + def Destroy(self): + self.parent.Unbind(gui.chromeTabs.EVT_NOTEBOOK_PAGE_CHANGED, handler=self.pageChanged) + def pageChanged(self, event): if self.parent.IsActive(self): fitID = self.getActiveFit()