Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2013-10-27 02:38:12 +0400
committerCampbell Barton <ideasman42@gmail.com>2013-10-27 02:38:12 +0400
commit01da2c0e53e8a3faf08375027ced7e7fb153726b (patch)
treec20ab3c713d0bee51390c0d8f51ff4356630b268
parent9f32e83175448eaf654cc228caa70065d63df13a (diff)
fix [#37195] particles crash with viewport render
-rw-r--r--build_files/scons/tools/Blender.py9
-rw-r--r--source/blender/render/intern/source/convertblender.c8
2 files changed, 14 insertions, 3 deletions
diff --git a/build_files/scons/tools/Blender.py b/build_files/scons/tools/Blender.py
index f181f290104..9bce91ba9a5 100644
--- a/build_files/scons/tools/Blender.py
+++ b/build_files/scons/tools/Blender.py
@@ -675,6 +675,15 @@ def AppIt(target=None, source=None, env=None):
cmd = 'unzip -q %s/release/%s -d %s/%s.app/Contents/MacOS/%s/python/'%(libdir,python_zip,installdir,binary,VERSION)
commands.getoutput(cmd)
+ if env['XCODE_CUR_VER'] >= 5:
+ # For OSX 10.9/Xcode5 subcomponents also must be codesigned. To make this work we need a plist in the versioned libdir
+ # We copy for now the plist from main bundle, note: Blender must be run once before codesigning to have the py caches generated and taken into account
+ # After this we can run: codesign -s IDENTITY blender.app --deep
+ cmd = 'mkdir %s/%s.app/Contents/MacOS/%s/Resources/'%(installdir,binary, VERSION)
+ commands.getoutput(cmd)
+ cmd = 'cp %s/%s.app/Contents/Info.plist %s/%s.app/Contents/MacOS/%s/Resources'%(installdir,binary,installdir,binary, VERSION)
+ commands.getoutput(cmd)
+
cmd = 'chmod +x %s/%s.app/Contents/MacOS/%s'%(installdir,binary, binary)
commands.getoutput(cmd)
cmd = 'find %s/%s.app -name .svn -prune -exec rm -rf {} \;'%(installdir, binary)
diff --git a/source/blender/render/intern/source/convertblender.c b/source/blender/render/intern/source/convertblender.c
index 8e90ddbb42b..b4873e7d310 100644
--- a/source/blender/render/intern/source/convertblender.c
+++ b/source/blender/render/intern/source/convertblender.c
@@ -1836,9 +1836,11 @@ static int render_new_particle_system(Render *re, ObjectRen *obr, ParticleSystem
if (strandbuf) {
int orignum = (index_mf_to_mpoly) ? DM_origindex_mface_mpoly(index_mf_to_mpoly, index_mp_to_orig, cpa->num) : cpa->num;
- if (orignum > sbound - strandbuf->bound) {
- sbound= strandbuf->bound + orignum;
- sbound->start= sbound->end= obr->totstrand;
+ if ((orignum > sbound - strandbuf->bound) &&
+ (orignum < strandbuf->totbound))
+ {
+ sbound = &strandbuf->bound[orignum];
+ sbound->start = sbound->end = obr->totstrand;
}
}
}