diff --git a/fsl/__init__.py b/fsl/__init__.py index 5f7f01d38964fc922e33fab11524c3ae80b61058..b82e1ba3fd253ef40ddf3df9beca764a69cfb333 100644 --- a/fsl/__init__.py +++ b/fsl/__init__.py @@ -88,7 +88,8 @@ logHandler = logging.StreamHandler() logHandler.setFormatter(logFormatter) -log = logging.getLogger('fsl') +# We want the root logger +log = logging.getLogger() log.addHandler(logHandler) @@ -273,6 +274,8 @@ def parseArgs(argv, allTools): log.setLevel(logging.MEMORY) log.handlers[0].addFilter(MemFilter()) log.memory('Added filter for MEMORY messages') + logging.getLogger('props') .setLevel(logging.WARNING) + logging.getLogger('pwidgets').setLevel(logging.WARNING) if namespace.verbose == 1: log.setLevel(logging.DEBUG) diff --git a/fsl/fslview/displaycontext/modelopts.py b/fsl/fslview/displaycontext/modelopts.py index 24f8dad3b8bcc31cb75fe24ac85427c2563766fd..0c5ef4c009d2892309b8d98ef6e908156ae472f8 100644 --- a/fsl/fslview/displaycontext/modelopts.py +++ b/fsl/fslview/displaycontext/modelopts.py @@ -65,7 +65,8 @@ class ModelOpts(fsldisplay.DisplayOpts): self.overlayList.removeListener('overlays', self.name) for overlay in self.overlayList: - overlay.removeListener('name', self.name) + display = self.displayCtx.getDisplay(overlay) + display.removeListener('name', self.name) fsldisplay.DisplayOpts.destroy(self) diff --git a/fsl/fslview/frame.py b/fsl/fslview/frame.py index 440624556dd927160fbc6a93b3c5f03fbe6a7b60..9bf5b5cefcc103c8b6c3b930daefa078faa291cc 100644 --- a/fsl/fslview/frame.py +++ b/fsl/fslview/frame.py @@ -136,7 +136,12 @@ class FSLViewFrame(wx.Frame): panel = panelCls( self.__centrePane, self.__overlayList, - childDC) + childDC) + + log.debug('Created new {} ({}) with DisplayContext {}'.format( + panelCls.__name__, + id(panel), + id(childDC))) self.__viewPanelCount = self.__viewPanelCount + 1 @@ -188,8 +193,12 @@ class FSLViewFrame(wx.Frame): title = self.__viewPanelTitles.pop( panel) dctx = self.__viewPanelDCs .pop( panel) - log.debug('Destroying view panel {} ({})'.format( - title, type(panel).__name__)) + log.debug('Destroying {} (title {}, id {}) and ' + 'associated DisplayContext ({})'.format( + type(panel).__name__, + title, + id(panel), + id(dctx))) # Unbind view panel menu # items, and remove the menu diff --git a/fsl/tools/fslview.py b/fsl/tools/fslview.py index 10426ba6dacf36a7e659a849fe75250a28a1fdb8..c429066dc35b5698d784252f39bd8a512a3811ab 100644 --- a/fsl/tools/fslview.py +++ b/fsl/tools/fslview.py @@ -138,6 +138,9 @@ def context(args): # linked to this master one. overlayList = fsloverlay.OverlayList() displayCtx = displaycontext.DisplayContext(overlayList) + + log.debug('Created overlay list and master DisplayContext ({})'.format( + id(displayCtx))) # Load the images - the splash screen status will # be updated with the currently loading overlay name