diff --git a/direct/src/wxwidgets/WxPandaWindow.py b/direct/src/wxwidgets/WxPandaWindow.py index f808adb51c..444f10dc6b 100644 --- a/direct/src/wxwidgets/WxPandaWindow.py +++ b/direct/src/wxwidgets/WxPandaWindow.py @@ -268,7 +268,7 @@ else: def __renderCallback(self, data): cbType = data.getCallbackType() if cbType == CallbackGraphicsWindow.RCTBeginFrame: - if not self.visible or not self.IsShownOnScreen(): + if not self.visible: data.setRenderFlag(False) return self.SetCurrent() @@ -279,6 +279,12 @@ else: elif cbType == CallbackGraphicsWindow.RCTEndFlip: self.SwapBuffers() + # Now that we've swapped, ask for a refresh, so we'll + # get another paint message if the window is still + # visible onscreen. + self.Refresh() + self.visible = False + data.upcall() def onSize(self, event): @@ -302,7 +308,10 @@ else: actually been manifested onscreen. (In X11, there appears to be no way to know this otherwise.) """ self.visible = True - event.Skip() + + # Important not to Skip this event, so the window + # subsystem believes we've drawn the window. + #event.Skip() def onIdle(self, event): size = None