handle window that doesn't open properly

This commit is contained in:
David Rose 2003-03-17 23:54:31 +00:00
parent bf10ae1386
commit 866b1e19c0

View File

@ -131,6 +131,12 @@ class ShowBase(DirectObject.DirectObject):
if self.config.GetBool('open-default-window', 1):
self.openMainWindow()
# Give the window a chance to truly open.
self.graphicsEngine.renderFrame()
if self.win.isClosed():
self.notify.info("Window did not open, removing.")
self.closeWindow(self.win)
if self.win == None:
# Try a little harder if the window wouldn't open.
self.makeAllPipes()
@ -139,6 +145,11 @@ class ShowBase(DirectObject.DirectObject):
self.pipe = self.pipeList[0]
self.openMainWindow()
self.graphicsEngine.renderFrame()
if self.win.isClosed():
self.notify.info("Window did not open, removing.")
self.closeWindow(self.win)
self.loader = Loader.Loader(self)
self.eventMgr = eventMgr
self.messenger = messenger
@ -501,7 +512,7 @@ class ShowBase(DirectObject.DirectObject):
# Reset the currently-held modifier button list for good
# measure.
bt = base.buttonThrower.node()
bt = self.buttonThrower.node()
mb = ModifierButtons(bt.getModifierButtons())
mb.allButtonsUp()
bt.setModifierButtons(mb)
@ -618,15 +629,15 @@ class ShowBase(DirectObject.DirectObject):
self.camLens = self.camNode.getLens()
def getAlt(self):
return base.mouseWatcherNode.getModifierButtons().isDown(
return self.mouseWatcherNode.getModifierButtons().isDown(
KeyboardButton.alt())
def getShift(self):
return base.mouseWatcherNode.getModifierButtons().isDown(
return self.mouseWatcherNode.getModifierButtons().isDown(
KeyboardButton.shift())
def getControl(self):
return base.mouseWatcherNode.getModifierButtons().isDown(
return self.mouseWatcherNode.getModifierButtons().isDown(
KeyboardButton.control())
def addAngularIntegrator(self):
@ -809,7 +820,7 @@ class ShowBase(DirectObject.DirectObject):
# Finally, render the frame.
self.graphicsEngine.renderFrame()
if self.clusterSyncFlag:
base.graphicsEngine.syncFrame()
self.graphicsEngine.syncFrame()
if self.mainWinMinimized:
# If the main window is minimized, slow down the app a bit