[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [39612] trunk/blender/release/scripts/ startup/bl_operators/wm.py: remove workaround for bug in python 3.2. 0 loading web pages on *nix

Campbell Barton ideasman42 at gmail.com
Mon Aug 22 13:54:41 CEST 2011


Revision: 39612
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=39612
Author:   campbellbarton
Date:     2011-08-22 11:54:40 +0000 (Mon, 22 Aug 2011)
Log Message:
-----------
remove workaround for bug in python 3.2.0 loading web pages on *nix

Modified Paths:
--------------
    trunk/blender/release/scripts/startup/bl_operators/wm.py

Modified: trunk/blender/release/scripts/startup/bl_operators/wm.py
===================================================================
--- trunk/blender/release/scripts/startup/bl_operators/wm.py	2011-08-22 11:51:23 UTC (rev 39611)
+++ trunk/blender/release/scripts/startup/bl_operators/wm.py	2011-08-22 11:54:40 UTC (rev 39612)
@@ -738,7 +738,6 @@
 
     def execute(self, context):
         import webbrowser
-        _webbrowser_bug_fix()
         webbrowser.open(self.url)
         return {'FINISHED'}
 
@@ -830,7 +829,6 @@
             return {'PASS_THROUGH'}
 
         import webbrowser
-        _webbrowser_bug_fix()
         webbrowser.open(url)
 
         return {'FINISHED'}
@@ -1181,65 +1179,3 @@
             return {'FINISHED'}
 
         return {'CANCELLED'}
-
-
-def _webbrowser_bug_fix():
-    # test for X11
-    import os
-
-    if os.environ.get("DISPLAY"):
-
-        # BSD licenced code copied from python, temp fix for bug
-        # http://bugs.python.org/issue11432, XXX == added code
-        def _invoke(self, args, remote, autoraise):
-            # XXX, added imports
-            import io
-            import subprocess
-            import time
-
-            raise_opt = []
-            if remote and self.raise_opts:
-                # use autoraise argument only for remote invocation
-                autoraise = int(autoraise)
-                opt = self.raise_opts[autoraise]
-                if opt:
-                    raise_opt = [opt]
-
-            cmdline = [self.name] + raise_opt + args
-
-            if remote or self.background:
-                inout = io.open(os.devnull, "r+")
-            else:
-                # for TTY browsers, we need stdin/out
-                inout = None
-            # if possible, put browser in separate process group, so
-            # keyboard interrupts don't affect browser as well as Python
-            setsid = getattr(os, 'setsid', None)
-            if not setsid:
-                setsid = getattr(os, 'setpgrp', None)
-
-            p = subprocess.Popen(cmdline, close_fds=True,  # XXX, stdin=inout,
-                                 stdout=(self.redirect_stdout and inout or None),
-                                 stderr=inout, preexec_fn=setsid)
-            if remote:
-                # wait five secons. If the subprocess is not finished, the
-                # remote invocation has (hopefully) started a new instance.
-                time.sleep(1)
-                rc = p.poll()
-                if rc is None:
-                    time.sleep(4)
-                    rc = p.poll()
-                    if rc is None:
-                        return True
-                # if remote call failed, open() will try direct invocation
-                return not rc
-            elif self.background:
-                if p.poll() is None:
-                    return True
-                else:
-                    return False
-            else:
-                return not p.wait()
-
-        import webbrowser
-        webbrowser.UnixBrowser._invoke = _invoke




More information about the Bf-blender-cvs mailing list