From d5dc94e76379f7ff5858bb7fa00875987cf4c9ef Mon Sep 17 00:00:00 2001 From: Gyedo Jeon Date: Thu, 14 May 2009 00:56:15 +0000 Subject: [PATCH] Made closeWindow compatible with multi windows --- direct/src/showbase/ShowBase.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/direct/src/showbase/ShowBase.py b/direct/src/showbase/ShowBase.py index 7b94e3e7e8..244bb476ed 100644 --- a/direct/src/showbase/ShowBase.py +++ b/direct/src/showbase/ShowBase.py @@ -628,6 +628,13 @@ class ShowBase(DirectObject.DirectObject): numRegions = win.getNumDisplayRegions() for i in range(numRegions): dr = win.getDisplayRegion(i) + # [gjeon] remove drc in base.direct.drList + if base.direct is not None: + for drc in base.direct.drList: + if drc.cam == dr.getCamera(): + base.direct.drList.displayRegionList.remove(drc) + break + cam = NodePath(dr.getCamera()) dr.setCamera(NodePath()) @@ -652,6 +659,12 @@ class ShowBase(DirectObject.DirectObject): # Now we can actually close the window. self.graphicsEngine.removeWindow(win) + # [gjeon] remove winControl + for winCtrl in self.winControls: + if winCtrl.win == win: + self.winControls.remove(winCtrl) + break + self.winList.remove(win) mainWindow = False