Browse Source

ShowBase: Add a private DirectObject to allow use of base.accept for window-events

David Crompton 2 years ago
parent
commit
cd6ad8285e
1 changed files with 8 additions and 4 deletions
  1. 8 4
      direct/src/showbase/ShowBase.py

+ 8 - 4
direct/src/showbase/ShowBase.py

@@ -487,11 +487,15 @@ class ShowBase(DirectObject.DirectObject):
             DGG.setDefaultClickSound(self.loader.loadSfx("audio/sfx/GUI_click.wav"))
             DGG.setDefaultClickSound(self.loader.loadSfx("audio/sfx/GUI_click.wav"))
             DGG.setDefaultRolloverSound(self.loader.loadSfx("audio/sfx/GUI_rollover.wav"))
             DGG.setDefaultRolloverSound(self.loader.loadSfx("audio/sfx/GUI_rollover.wav"))
 
 
+        # Create a private DirectObject - allowing base.accept for window-event
+        # as well as allowing ShowBase's default handling of this.
+        self.__directObject = DirectObject.DirectObject()
+
         # Now hang a hook on the window-event from Panda.  This allows
         # Now hang a hook on the window-event from Panda.  This allows
         # us to detect when the user resizes, minimizes, or closes the
         # us to detect when the user resizes, minimizes, or closes the
         # main window.
         # main window.
         self.__prevWindowProperties = None
         self.__prevWindowProperties = None
-        self.accept('window-event', self.windowEvent)
+        self.__directObject.accept('window-event', self.windowEvent)
 
 
         # Transition effects (fade, iris, etc)
         # Transition effects (fade, iris, etc)
         from . import Transitions
         from . import Transitions
@@ -2579,9 +2583,9 @@ class ShowBase(DirectObject.DirectObject):
             self.oobeVis.setLightOff(1)
             self.oobeVis.setLightOff(1)
             self.oobeCullFrustum = None
             self.oobeCullFrustum = None
 
 
-            self.accept('oobe-down', self.__oobeButton, extraArgs = [''])
-            self.accept('oobe-repeat', self.__oobeButton, extraArgs = ['-repeat'])
-            self.accept('oobe-up', self.__oobeButton, extraArgs = ['-up'])
+            self.__directObject.accept('oobe-down', self.__oobeButton, extraArgs = [''])
+            self.__directObject.accept('oobe-repeat', self.__oobeButton, extraArgs = ['-repeat'])
+            self.__directObject.accept('oobe-up', self.__oobeButton, extraArgs = ['-up'])
 
 
         if self.oobeMode:
         if self.oobeMode:
             # Disable OOBE mode.
             # Disable OOBE mode.