diff --git a/Packages/DV3D/DV3DPlot.py b/Packages/DV3D/DV3DPlot.py index 1661c6683c..6c7572a87e 100644 --- a/Packages/DV3D/DV3DPlot.py +++ b/Packages/DV3D/DV3DPlot.py @@ -314,9 +314,10 @@ def refresh(self): self.onWindowModified() def onClosing(self, cell ): - print " ------> Closing!" + #print " ------> Closing!" self.stopAnimation() - self.cfgManager.parent.clear( cell ) + if self.cfgManager.parent: + self.cfgManager.parent.clear( cell ) self.terminate() self.renderer.RemoveAllViewProps() self.clearReferrents() diff --git a/Packages/vcs/Lib/VTKPlots.py b/Packages/vcs/Lib/VTKPlots.py index c863c18d1e..59f7e83c9b 100644 --- a/Packages/vcs/Lib/VTKPlots.py +++ b/Packages/vcs/Lib/VTKPlots.py @@ -247,16 +247,20 @@ def clear(self, render=True): renderers.InitTraversal() ren = renderers.GetNextItem() hasValidRenderer = True if ren is not None else False + + for gm in self.plotApps: + app = self.plotApps[gm] + app.plot.quit() + self.hideGUI() while ren is not None: - if not ren in self.plotRenderers: - ren.RemoveAllViewProps() - if not ren.GetLayer()==0: - self.renWin.RemoveRenderer(ren) - else: - #Update background color - r,g,b = [c / 255. for c in self.canvas.backgroundcolor] - ren.SetBackground(r,g,b) + ren.RemoveAllViewProps() + if not ren.GetLayer()==0: + self.renWin.RemoveRenderer(ren) + else: + #Update background color + r,g,b = [c / 255. for c in self.canvas.backgroundcolor] + ren.SetBackground(r,g,b) ren = renderers.GetNextItem() self.showGUI() if hasValidRenderer and self.renWin.IsDrawable() and render: