]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/demo/MDIWindows.py
Undo part of lst change
[wxWidgets.git] / wxPython / demo / MDIWindows.py
index 521c14cc66551322a683f6c43385eb3adf78c199..4fa3ad01df24b6874913f35791ed3336c2733891 100644 (file)
@@ -28,12 +28,29 @@ class TestPanel(wx.Panel):
     # some problems related to having regular frames and MDI frames in
     # the same app.
     def ShowMDIDemo(self, evt):
-        os.spawnl(os.P_NOWAIT, sys.executable, sys.executable, "MDIDemo.py")
+        exe, spawn = self.GetPyExecutable()
+        spawn(os.P_NOWAIT, exe, exe, "MDIDemo.py")
 
     def ShowMDISashDemo(self, evt):
-        os.spawnl(os.P_NOWAIT, sys.executable, sys.executable, "MDISashDemo.py")
-
-
+        exe, spawn = self.GetPyExecutable()
+        spawn(os.P_NOWAIT, exe, exe, "MDISashDemo.py")
+
+    # TODO: This hack can be removed once we fix the way the Python
+    # app bundles are generated so that they are not bundling and 
+    # pointing to an otherwise unused and non-GUI-friendly version of
+    # Python on OS X.
+    def GetPyExecutable(self):
+        if 'wxMac' in wx.PlatformInfo:
+            # sys.executable will be wrong if running the demo from
+            # an app bundle.  But the bundle is always using a system
+            # framework so just hardcode the path to it.
+            if sys.version[:3] == "2.4":
+                return '/usr/local/bin/pythonw', os.spawnl
+            else:
+                return '/usr/bin/pythonw', os.spawnl    
+        else:
+            return sys.executable, os.spawnl
+        
 #----------------------------------------------------------------------
 
 def runTest(frame, nb, log):