[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [35723] trunk/blender: tweaks not to load webbrowser or math modules on startup.
Campbell Barton
ideasman42 at gmail.com
Wed Mar 23 14:04:35 CET 2011
Revision: 35723
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=35723
Author: campbellbarton
Date: 2011-03-23 13:04:35 +0000 (Wed, 23 Mar 2011)
Log Message:
-----------
tweaks not to load webbrowser or math modules on startup.
Modified Paths:
--------------
trunk/blender/release/scripts/startup/bl_operators/uvcalc_lightmap.py
trunk/blender/release/scripts/startup/bl_operators/wm.py
trunk/blender/source/blender/makesrna/intern/rna_particle.c
Modified: trunk/blender/release/scripts/startup/bl_operators/uvcalc_lightmap.py
===================================================================
--- trunk/blender/release/scripts/startup/bl_operators/uvcalc_lightmap.py 2011-03-23 12:44:22 UTC (rev 35722)
+++ trunk/blender/release/scripts/startup/bl_operators/uvcalc_lightmap.py 2011-03-23 13:04:35 UTC (rev 35723)
@@ -21,9 +21,7 @@
import bpy
import mathutils
-from math import sqrt, pi
-
class prettyface(object):
__slots__ = "uv", "width", "height", "children", "xoff", "yoff", "has_parent", "rot"
@@ -104,6 +102,7 @@
pf.spin()
def place(self, xoff, yoff, xfac, yfac, margin_w, margin_h):
+ from math import pi
xoff += self.xoff
yoff += self.yoff
@@ -196,6 +195,7 @@
and a higher value will have more clumpy boxes but more waisted space
'''
import time
+ from math import sqrt
if not meshes:
return
Modified: trunk/blender/release/scripts/startup/bl_operators/wm.py
===================================================================
--- trunk/blender/release/scripts/startup/bl_operators/wm.py 2011-03-23 12:44:22 UTC (rev 35722)
+++ trunk/blender/release/scripts/startup/bl_operators/wm.py 2011-03-23 13:04:35 UTC (rev 35723)
@@ -552,6 +552,7 @@
def execute(self, context):
import webbrowser
+ _webbrowser_bug_fix()
webbrowser.open(self.url)
return {'FINISHED'}
@@ -625,6 +626,7 @@
return {'PASS_THROUGH'}
import webbrowser
+ _webbrowser_bug_fix()
webbrowser.open(url)
return {'FINISHED'}
@@ -855,3 +857,65 @@
import sys_info
sys_info.write_sysinfo(self)
return {'FINISHED'}
+
+
+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
\ No newline at end of file
Modified: trunk/blender/source/blender/makesrna/intern/rna_particle.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_particle.c 2011-03-23 12:44:22 UTC (rev 35722)
+++ trunk/blender/source/blender/makesrna/intern/rna_particle.c 2011-03-23 13:04:35 UTC (rev 35723)
@@ -219,7 +219,7 @@
static void rna_ParticleHairKey_dynamic_location_object_get(PointerRNA *ptr, float *values)
{
HairKey *hkey= (HairKey *)ptr->data;
- Object *ob = (Object *)ptr->id.data;
+ // Object *ob = (Object *)ptr->id.data;
ParticleSystemModifierData *psmd;
ParticleData *pa;
@@ -245,7 +245,7 @@
static void rna_ParticleHairKey_dynamic_location_object_set(PointerRNA *ptr, const float *values)
{
HairKey *hkey= (HairKey *)ptr->data;
- Object *ob = (Object *)ptr->id.data;
+ // Object *ob = (Object *)ptr->id.data;
ParticleSystemModifierData *psmd;
ParticleData *pa;
More information about the Bf-blender-cvs
mailing list