[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [40192] branches/soc-2008-mxcurioni: Merged changes in the trunk up to revision 40189.

Tamito Kajiyama rd6t-kjym at asahi-net.or.jp
Wed Sep 14 00:25:00 CEST 2011


Revision: 40192
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=40192
Author:   kjym3
Date:     2011-09-13 22:24:59 +0000 (Tue, 13 Sep 2011)
Log Message:
-----------
Merged changes in the trunk up to revision 40189.

Revision Links:
--------------
    http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=40189

Modified Paths:
--------------
    branches/soc-2008-mxcurioni/CMakeLists.txt
    branches/soc-2008-mxcurioni/build_files/buildbot/config/user-config-i686.py
    branches/soc-2008-mxcurioni/build_files/buildbot/config/user-config-x86_64.py
    branches/soc-2008-mxcurioni/build_files/cmake/macros.cmake
    branches/soc-2008-mxcurioni/doc/python_api/rst/info_gotcha.rst
    branches/soc-2008-mxcurioni/doc/python_api/rst/info_tips_and_tricks.rst
    branches/soc-2008-mxcurioni/extern/SConscript
    branches/soc-2008-mxcurioni/extern/recastnavigation/Detour/Include/DetourStatNavMesh.h
    branches/soc-2008-mxcurioni/extern/recastnavigation/Detour/Include/DetourTileNavMesh.h
    branches/soc-2008-mxcurioni/extern/recastnavigation/Recast/Source/RecastMeshDetail.cpp
    branches/soc-2008-mxcurioni/intern/audaspace/intern/AUD_JOSResampleReader.cpp
    branches/soc-2008-mxcurioni/intern/audaspace/intern/AUD_SequencerHandle.cpp
    branches/soc-2008-mxcurioni/intern/audaspace/intern/AUD_SequencerHandle.h
    branches/soc-2008-mxcurioni/intern/audaspace/intern/AUD_SequencerReader.cpp
    branches/soc-2008-mxcurioni/intern/elbeem/CMakeLists.txt
    branches/soc-2008-mxcurioni/intern/tools/credits_svn_gen.py
    branches/soc-2008-mxcurioni/release/scripts/startup/bl_ui/properties_data_modifier.py
    branches/soc-2008-mxcurioni/release/scripts/startup/bl_ui/properties_game.py
    branches/soc-2008-mxcurioni/source/blender/blenfont/intern/blf_font.c
    branches/soc-2008-mxcurioni/source/blender/blenfont/intern/blf_glyph.c
    branches/soc-2008-mxcurioni/source/blender/blenfont/intern/blf_internal.h
    branches/soc-2008-mxcurioni/source/blender/blenfont/intern/blf_internal_types.h
    branches/soc-2008-mxcurioni/source/blender/blenfont/intern/blf_util.c
    branches/soc-2008-mxcurioni/source/blender/blenkernel/BKE_colortools.h
    branches/soc-2008-mxcurioni/source/blender/blenkernel/BKE_material.h
    branches/soc-2008-mxcurioni/source/blender/blenkernel/BKE_sequencer.h
    branches/soc-2008-mxcurioni/source/blender/blenkernel/CMakeLists.txt
    branches/soc-2008-mxcurioni/source/blender/blenkernel/SConscript
    branches/soc-2008-mxcurioni/source/blender/blenkernel/intern/DerivedMesh.c
    branches/soc-2008-mxcurioni/source/blender/blenkernel/intern/boids.c
    branches/soc-2008-mxcurioni/source/blender/blenkernel/intern/brush.c
    branches/soc-2008-mxcurioni/source/blender/blenkernel/intern/cdderivedmesh.c
    branches/soc-2008-mxcurioni/source/blender/blenkernel/intern/collision.c
    branches/soc-2008-mxcurioni/source/blender/blenkernel/intern/colortools.c
    branches/soc-2008-mxcurioni/source/blender/blenkernel/intern/curve.c
    branches/soc-2008-mxcurioni/source/blender/blenkernel/intern/effect.c
    branches/soc-2008-mxcurioni/source/blender/blenkernel/intern/material.c
    branches/soc-2008-mxcurioni/source/blender/blenkernel/intern/particle.c
    branches/soc-2008-mxcurioni/source/blender/blenkernel/intern/sequencer.c
    branches/soc-2008-mxcurioni/source/blender/blenkernel/intern/shrinkwrap.c
    branches/soc-2008-mxcurioni/source/blender/blenkernel/intern/sketch.c
    branches/soc-2008-mxcurioni/source/blender/blenlib/BLI_math_matrix.h
    branches/soc-2008-mxcurioni/source/blender/blenlib/BLI_math_vector.h
    branches/soc-2008-mxcurioni/source/blender/blenlib/intern/BLI_kdopbvh.c
    branches/soc-2008-mxcurioni/source/blender/blenlib/intern/graph.c
    branches/soc-2008-mxcurioni/source/blender/blenlib/intern/math_matrix.c
    branches/soc-2008-mxcurioni/source/blender/blenlib/intern/math_vector_inline.c
    branches/soc-2008-mxcurioni/source/blender/collada/EffectExporter.cpp
    branches/soc-2008-mxcurioni/source/blender/collada/EffectExporter.h
    branches/soc-2008-mxcurioni/source/blender/collada/ErrorHandler.cpp
    branches/soc-2008-mxcurioni/source/blender/editors/animation/anim_channels_defines.c
    branches/soc-2008-mxcurioni/source/blender/editors/animation/keyframing.c
    branches/soc-2008-mxcurioni/source/blender/editors/armature/editarmature_sketch.c
    branches/soc-2008-mxcurioni/source/blender/editors/armature/meshlaplacian.c
    branches/soc-2008-mxcurioni/source/blender/editors/include/UI_interface.h
    branches/soc-2008-mxcurioni/source/blender/editors/include/UI_resources.h
    branches/soc-2008-mxcurioni/source/blender/editors/interface/interface_draw.c
    branches/soc-2008-mxcurioni/source/blender/editors/interface/interface_layout.c
    branches/soc-2008-mxcurioni/source/blender/editors/interface/interface_panel.c
    branches/soc-2008-mxcurioni/source/blender/editors/interface/interface_widgets.c
    branches/soc-2008-mxcurioni/source/blender/editors/interface/resources.c
    branches/soc-2008-mxcurioni/source/blender/editors/mesh/editmesh.c
    branches/soc-2008-mxcurioni/source/blender/editors/mesh/editmesh_add.c
    branches/soc-2008-mxcurioni/source/blender/editors/mesh/editmesh_lib.c
    branches/soc-2008-mxcurioni/source/blender/editors/mesh/editmesh_mods.c
    branches/soc-2008-mxcurioni/source/blender/editors/mesh/editmesh_tools.c
    branches/soc-2008-mxcurioni/source/blender/editors/object/CMakeLists.txt
    branches/soc-2008-mxcurioni/source/blender/editors/render/render_shading.c
    branches/soc-2008-mxcurioni/source/blender/editors/screen/area.c
    branches/soc-2008-mxcurioni/source/blender/editors/sculpt_paint/sculpt.c
    branches/soc-2008-mxcurioni/source/blender/editors/sculpt_paint/sculpt_undo.c
    branches/soc-2008-mxcurioni/source/blender/editors/sound/sound_ops.c
    branches/soc-2008-mxcurioni/source/blender/editors/space_file/file_draw.c
    branches/soc-2008-mxcurioni/source/blender/editors/space_file/filelist.c
    branches/soc-2008-mxcurioni/source/blender/editors/space_nla/nla_draw.c
    branches/soc-2008-mxcurioni/source/blender/editors/space_nla/nla_select.c
    branches/soc-2008-mxcurioni/source/blender/editors/space_node/drawnode.c
    branches/soc-2008-mxcurioni/source/blender/editors/space_node/node_draw.c
    branches/soc-2008-mxcurioni/source/blender/editors/space_outliner/outliner_draw.c
    branches/soc-2008-mxcurioni/source/blender/editors/space_sequencer/sequencer_draw.c
    branches/soc-2008-mxcurioni/source/blender/editors/space_text/text_draw.c
    branches/soc-2008-mxcurioni/source/blender/editors/space_view3d/drawarmature.c
    branches/soc-2008-mxcurioni/source/blender/editors/space_view3d/drawobject.c
    branches/soc-2008-mxcurioni/source/blender/editors/space_view3d/drawvolume.c
    branches/soc-2008-mxcurioni/source/blender/editors/space_view3d/view3d_draw.c
    branches/soc-2008-mxcurioni/source/blender/editors/transform/transform.c
    branches/soc-2008-mxcurioni/source/blender/editors/transform/transform_constraints.c
    branches/soc-2008-mxcurioni/source/blender/editors/transform/transform_conversions.c
    branches/soc-2008-mxcurioni/source/blender/editors/transform/transform_generics.c
    branches/soc-2008-mxcurioni/source/blender/editors/transform/transform_manipulator.c
    branches/soc-2008-mxcurioni/source/blender/editors/transform/transform_orientations.c
    branches/soc-2008-mxcurioni/source/blender/editors/transform/transform_snap.c
    branches/soc-2008-mxcurioni/source/blender/editors/util/CMakeLists.txt
    branches/soc-2008-mxcurioni/source/blender/editors/util/SConscript
    branches/soc-2008-mxcurioni/source/blender/gpu/intern/gpu_codegen.c
    branches/soc-2008-mxcurioni/source/blender/gpu/intern/gpu_shader_material.glsl.c
    branches/soc-2008-mxcurioni/source/blender/makesdna/DNA_sequence_types.h
    branches/soc-2008-mxcurioni/source/blender/makesrna/intern/rna_actuator.c
    branches/soc-2008-mxcurioni/source/blender/makesrna/intern/rna_nodetree.c
    branches/soc-2008-mxcurioni/source/blender/makesrna/intern/rna_object.c
    branches/soc-2008-mxcurioni/source/blender/makesrna/intern/rna_space.c
    branches/soc-2008-mxcurioni/source/blender/modifiers/CMakeLists.txt
    branches/soc-2008-mxcurioni/source/blender/modifiers/SConscript
    branches/soc-2008-mxcurioni/source/blender/modifiers/intern/MOD_navmesh.cpp
    branches/soc-2008-mxcurioni/source/blender/modifiers/intern/MOD_weightvgproximity.c
    branches/soc-2008-mxcurioni/source/blender/nodes/shader/node_shader_tree.c
    branches/soc-2008-mxcurioni/source/blender/nodes/shader/nodes/node_shader_geom.c
    branches/soc-2008-mxcurioni/source/blender/nodes/shader/nodes/node_shader_material.c
    branches/soc-2008-mxcurioni/source/blender/render/extern/include/RE_render_ext.h
    branches/soc-2008-mxcurioni/source/blender/render/intern/include/pixelshading.h
    branches/soc-2008-mxcurioni/source/blender/render/intern/include/render_types.h
    branches/soc-2008-mxcurioni/source/blender/render/intern/include/rendercore.h
    branches/soc-2008-mxcurioni/source/blender/render/intern/include/renderdatabase.h
    branches/soc-2008-mxcurioni/source/blender/render/intern/include/shadbuf.h
    branches/soc-2008-mxcurioni/source/blender/render/intern/include/shading.h
    branches/soc-2008-mxcurioni/source/blender/render/intern/include/texture.h
    branches/soc-2008-mxcurioni/source/blender/render/intern/include/volumetric.h
    branches/soc-2008-mxcurioni/source/blender/render/intern/include/zbuf.h
    branches/soc-2008-mxcurioni/source/blender/render/intern/source/convertblender.c
    branches/soc-2008-mxcurioni/source/blender/render/intern/source/imagetexture.c
    branches/soc-2008-mxcurioni/source/blender/render/intern/source/occlusion.c
    branches/soc-2008-mxcurioni/source/blender/render/intern/source/pixelshading.c
    branches/soc-2008-mxcurioni/source/blender/render/intern/source/render_texture.c
    branches/soc-2008-mxcurioni/source/blender/render/intern/source/rendercore.c
    branches/soc-2008-mxcurioni/source/blender/render/intern/source/renderdatabase.c
    branches/soc-2008-mxcurioni/source/blender/render/intern/source/shadbuf.c
    branches/soc-2008-mxcurioni/source/blender/render/intern/source/shadeinput.c
    branches/soc-2008-mxcurioni/source/blender/render/intern/source/shadeoutput.c
    branches/soc-2008-mxcurioni/source/blender/render/intern/source/sss.c
    branches/soc-2008-mxcurioni/source/blender/render/intern/source/volume_precache.c
    branches/soc-2008-mxcurioni/source/blender/render/intern/source/volumetric.c
    branches/soc-2008-mxcurioni/source/blender/render/intern/source/zbuf.c
    branches/soc-2008-mxcurioni/source/blender/windowmanager/intern/wm_dragdrop.c
    branches/soc-2008-mxcurioni/source/blenderplayer/CMakeLists.txt
    branches/soc-2008-mxcurioni/source/creator/creator.c
    branches/soc-2008-mxcurioni/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp
    branches/soc-2008-mxcurioni/source/gameengine/Converter/BL_SkinDeformer.cpp
    branches/soc-2008-mxcurioni/source/gameengine/GamePlayer/ghost/GPG_Application.cpp
    branches/soc-2008-mxcurioni/source/gameengine/GamePlayer/ghost/GPG_Application.h
    branches/soc-2008-mxcurioni/source/gameengine/GamePlayer/ghost/GPG_ghost.cpp
    branches/soc-2008-mxcurioni/source/gameengine/Ketsji/CMakeLists.txt
    branches/soc-2008-mxcurioni/source/gameengine/Ketsji/KX_KetsjiEngine.cpp
    branches/soc-2008-mxcurioni/source/gameengine/Ketsji/KX_KetsjiEngine.h
    branches/soc-2008-mxcurioni/source/gameengine/Ketsji/KX_NavMeshObject.cpp
    branches/soc-2008-mxcurioni/source/gameengine/Ketsji/KX_PythonInit.cpp
    branches/soc-2008-mxcurioni/source/gameengine/Ketsji/SConscript

Added Paths:
-----------
    branches/soc-2008-mxcurioni/source/blender/blenkernel/BKE_navmesh_conversion.h
    branches/soc-2008-mxcurioni/source/blender/blenkernel/intern/navmesh_conversion.cpp

Removed Paths:
-------------
    branches/soc-2008-mxcurioni/source/blender/editors/include/ED_navmesh_conversion.h
    branches/soc-2008-mxcurioni/source/blender/editors/util/navmesh_conversion.cpp

Property Changed:
----------------
    branches/soc-2008-mxcurioni/
    branches/soc-2008-mxcurioni/release/scripts/startup/bl_operators/add_mesh_torus.py
    branches/soc-2008-mxcurioni/release/scripts/startup/bl_operators/uvcalc_smart_project.py
    branches/soc-2008-mxcurioni/release/scripts/startup/bl_operators/vertexpaint_dirt.py
    branches/soc-2008-mxcurioni/release/scripts/startup/bl_ui/properties_data_armature.py
    branches/soc-2008-mxcurioni/release/scripts/startup/bl_ui/properties_data_bone.py
    branches/soc-2008-mxcurioni/release/scripts/startup/bl_ui/properties_data_camera.py
    branches/soc-2008-mxcurioni/release/scripts/startup/bl_ui/properties_data_empty.py
    branches/soc-2008-mxcurioni/release/scripts/startup/bl_ui/properties_data_lamp.py
    branches/soc-2008-mxcurioni/release/scripts/startup/bl_ui/properties_data_lattice.py
    branches/soc-2008-mxcurioni/release/scripts/startup/bl_ui/properties_data_mesh.py
    branches/soc-2008-mxcurioni/release/scripts/startup/bl_ui/properties_data_metaball.py
    branches/soc-2008-mxcurioni/release/scripts/startup/bl_ui/properties_data_modifier.py
    branches/soc-2008-mxcurioni/release/scripts/startup/bl_ui/properties_game.py
    branches/soc-2008-mxcurioni/release/scripts/startup/bl_ui/properties_material.py
    branches/soc-2008-mxcurioni/release/scripts/startup/bl_ui/properties_particle.py
    branches/soc-2008-mxcurioni/release/scripts/startup/bl_ui/properties_physics_field.py
    branches/soc-2008-mxcurioni/release/scripts/startup/bl_ui/properties_physics_fluid.py
    branches/soc-2008-mxcurioni/release/scripts/startup/bl_ui/properties_physics_smoke.py
    branches/soc-2008-mxcurioni/release/scripts/startup/bl_ui/properties_texture.py
    branches/soc-2008-mxcurioni/release/scripts/startup/bl_ui/properties_world.py
    branches/soc-2008-mxcurioni/release/scripts/startup/bl_ui/space_node.py
    branches/soc-2008-mxcurioni/source/blender/editors/render/render_update.c
    branches/soc-2008-mxcurioni/source/blender/editors/space_outliner/
    branches/soc-2008-mxcurioni/source/blender/editors/uvedit/uvedit_buttons.c


Property changes on: branches/soc-2008-mxcurioni
___________________________________________________________________
Modified: svn:mergeinfo
   - /trunk/blender:34011-39896,39898-40096
   + /trunk/blender:34011-39896,39898-40096,40098-40189

Modified: branches/soc-2008-mxcurioni/CMakeLists.txt
===================================================================
--- branches/soc-2008-mxcurioni/CMakeLists.txt	2011-09-13 21:16:41 UTC (rev 40191)
+++ branches/soc-2008-mxcurioni/CMakeLists.txt	2011-09-13 22:24:59 UTC (rev 40192)
@@ -702,7 +702,7 @@
 				${LIBDIR}/opencollada/lib/ftoa.lib
 				${LIBDIR}/opencollada/lib/UTF.lib
 			)
-			set(PCRE_LIB
+			set(PCRE_LIBRARIES
 				${LIBDIR}/opencollada/lib/pcre.lib
 			)
 		endif()
@@ -844,7 +844,7 @@
 			)
 			set(OPENCOLLADA_LIBPATH ${OPENCOLLADA}/lib ${OPENCOLLADA}/lib)
 			set(OPENCOLLADA_LIBRARIES OpenCOLLADAStreamWriter OpenCOLLADASaxFrameworkLoader OpenCOLLADAFramework OpenCOLLADABaseUtils GeneratedSaxParser UTF MathMLSolver expat pcre buffer ftoa)
-			set(PCRE_LIB pcre)
+			set(PCRE_LIBRARIES pcre)
 		endif()
 		
 		if(WITH_CODEC_FFMPEG)
@@ -1066,7 +1066,7 @@
 		#pcre is bundled with openCollada
 		#set(PCRE ${LIBDIR}/pcre)
 		#set(PCRE_LIBPATH ${PCRE}/lib)
-		set(PCRE_LIB pcre)
+		set(PCRE_LIBRARIES pcre)
 		#libxml2 is used
 		#set(EXPAT ${LIBDIR}/expat)
 		#set(EXPAT_LIBPATH ${EXPAT}/lib)

Modified: branches/soc-2008-mxcurioni/build_files/buildbot/config/user-config-i686.py
===================================================================
--- branches/soc-2008-mxcurioni/build_files/buildbot/config/user-config-i686.py	2011-09-13 21:16:41 UTC (rev 40191)
+++ branches/soc-2008-mxcurioni/build_files/buildbot/config/user-config-i686.py	2011-09-13 22:24:59 UTC (rev 40192)
@@ -87,6 +87,10 @@
 BF_3DMOUSE = '/home/sources/staticlibs/spnav'
 BF_3DMOUSE_LIBPATH = '${BF_3DMOUSE}/lib32'
 
+# FFT
+WITH_BF_FFTW3 = True
+WITH_BF_STATICFFTW3 = True
+
 # Compilation and optimization
 BF_DEBUG = False
 REL_CFLAGS = ['-O2']

Modified: branches/soc-2008-mxcurioni/build_files/buildbot/config/user-config-x86_64.py
===================================================================
--- branches/soc-2008-mxcurioni/build_files/buildbot/config/user-config-x86_64.py	2011-09-13 21:16:41 UTC (rev 40191)
+++ branches/soc-2008-mxcurioni/build_files/buildbot/config/user-config-x86_64.py	2011-09-13 22:24:59 UTC (rev 40192)
@@ -87,6 +87,10 @@
 BF_3DMOUSE = '/home/sources/staticlibs/spnav'
 BF_3DMOUSE_LIBPATH = '${BF_3DMOUSE}/lib64'
 
+# FFT
+WITH_BF_FFTW3 = True
+WITH_BF_STATICFFTW3 = True
+
 # Compilation and optimization
 BF_DEBUG = False
 REL_CFLAGS = ['-O2']

Modified: branches/soc-2008-mxcurioni/build_files/cmake/macros.cmake
===================================================================
--- branches/soc-2008-mxcurioni/build_files/cmake/macros.cmake	2011-09-13 21:16:41 UTC (rev 40191)
+++ branches/soc-2008-mxcurioni/build_files/cmake/macros.cmake	2011-09-13 22:24:59 UTC (rev 40192)
@@ -295,10 +295,10 @@
 			target_link_libraries_optimized(${target} "${OPENCOLLADA_LIBRARIES}")
 			unset(OPENCOLLADA_LIBRARIES_DEBUG)
 
-			file_list_suffix(PCRE_LIB_DEBUG "${PCRE_LIB}" "_d")
-			target_link_libraries_debug(${target} "${PCRE_LIB_DEBUG}")
-			target_link_libraries_optimized(${target} "${PCRE_LIB}")
-			unset(PCRE_LIB_DEBUG)
+			file_list_suffix(PCRE_LIBRARIES_DEBUG "${PCRE_LIBRARIES}" "_d")
+			target_link_libraries_debug(${target} "${PCRE_LIBRARIES_DEBUG}")
+			target_link_libraries_optimized(${target} "${PCRE_LIBRARIES}")
+			unset(PCRE_LIBRARIES_DEBUG)
 
 			if(EXPAT_LIB)
 				file_list_suffix(EXPAT_LIB_DEBUG "${EXPAT_LIB}" "_d")
@@ -309,7 +309,8 @@
 		else()
 			target_link_libraries(${target}
 					${OPENCOLLADA_LIBRARIES}
-					${PCRE_LIB}
+					${PCRE_LIBRARIES}
+					${XML2_LIBRARIES}
 					${EXPAT_LIB})
 		endif()
 	endif()

Modified: branches/soc-2008-mxcurioni/doc/python_api/rst/info_gotcha.rst
===================================================================
--- branches/soc-2008-mxcurioni/doc/python_api/rst/info_gotcha.rst	2011-09-13 21:16:41 UTC (rev 40191)
+++ branches/soc-2008-mxcurioni/doc/python_api/rst/info_gotcha.rst	2011-09-13 22:24:59 UTC (rev 40192)
@@ -1,6 +1,6 @@
-********
-Gotcha's
-********
+*******
+Gotchas
+*******
 
 This document attempts to help you work with the Blender API in areas that can be troublesome and avoid practices that are known to give instability.
 
@@ -32,12 +32,12 @@
 
 Typically operators check for the active area type, a selection or active object they can operate on, but some operators are more picky about when they run.
 
-In most cases you can figure out what context an operator needs simply be seeing how its used in Blender and thinking about what it does.
+In most cases you can figure out what context an operator needs simply be seeing how it's used in Blender and thinking about what it does.
 
 
 Unfortunately if you're still stuck - the only way to **really** know whats going on is to read the source code for the poll function and see what its checking.
 
-For python operators its not so hard to find the source since its included with with Blender and the source file/line is included in the operator reference docs.
+For python operators it's not so hard to find the source since it's included with Blender and the source file/line is included in the operator reference docs.
 
 Downloading and searching the C code isn't so simple, especially if you're not familiar with the C language but by searching the operator name or description you should be able to find the poll function with no knowledge of C.
 
@@ -74,7 +74,7 @@
 
 Once changing the objects :class:`bpy.types.Object.location` you may want to access its transformation right after from :class:`bpy.types.Object.matrix_world`, but this doesn't work as you might expect.
 
-Consider the calculations that might go into working out the objects final transformation, this includes:
+Consider the calculations that might go into working out the object's final transformation, this includes:
 
 * animation function curves.
 * drivers and their pythons expressions.
@@ -106,7 +106,7 @@
 
 Transform, Painting, Fly-Mode and File-Select are example of a modal operators.
 
-Writing modal operators takes more effort then a simple ``for`` loop that happens to redraw but is more flexible and integrates better with Blenders design.
+Writing modal operators takes more effort than a simple ``for`` loop that happens to redraw but is more flexible and integrates better with Blenders design.
 
 
 **Ok, Ok! I still want to draw from python**
@@ -129,7 +129,7 @@
 I can't edit the mesh in edit-mode!
 ===================================
 
-Blenders EditMesh is an internal data structure (not saved and not exposed to python), this gives the main annoyance that you need to exit edit-mode to edit the mesh from python.
+Blender's EditMesh is an internal data structure (not saved and not exposed to python), this gives the main annoyance that you need to exit edit-mode to edit the mesh from python.
 
 The reason we have not made much attempt to fix this yet is because we
 will likely move to BMesh mesh API eventually, so any work on the API now will be wasted effort.
@@ -226,13 +226,13 @@
 Unicode Problems
 ================
 
-Python supports many different encpdings so there is nothing stopping you from writing a script in latin1 or iso-8859-15.
+Python supports many different encodings so there is nothing stopping you from writing a script in latin1 or iso-8859-15.
 
 See `pep-0263 <http://www.python.org/dev/peps/pep-0263/>`_
 
-However this complicates things for the python api because blend files themselves dont have an encoding.
+However this complicates things for the python api because blend files themselves don't have an encoding.
 
-To simplify the problem for python integration and script authors we have decieded all strings in blend files **must** be UTF-8 or ASCII compatible.
+To simplify the problem for python integration and script authors we have decided all strings in blend files **must** be UTF-8 or ASCII compatible.
 
 This means assigning strings with different encodings to an object names for instance will raise an error.
 
@@ -331,13 +331,13 @@
 
    my_timer()
 
-Use cases like the one above which leave the thread running once the script finishes may seem to work for a while but end up causing random crashes or errors in Blenders own drawing code.
+Use cases like the one above which leave the thread running once the script finishes may seem to work for a while but end up causing random crashes or errors in Blender's own drawing code.
 
-So far no work has gone into making Blenders python integration thread safe, so until its properly supported, best not make use of this.
+So far, no work has gone into making Blender's python integration thread safe, so until its properly supported, best not make use of this.
 
 .. note::
 
-   Pythons threads only allow co-currency and wont speed up you're scripts on multi-processor systems, the ``subprocess`` and ``multiprocess`` modules can be used with blender and make use of multiple CPU's too.
+   Pythons threads only allow co-currency and won't speed up your scripts on multi-processor systems, the ``subprocess`` and ``multiprocess`` modules can be used with blender and make use of multiple CPU's too.
 
 
 Help! My script crashes Blender
@@ -378,6 +378,41 @@
 As suggested above, simply not holding references to data when Blender is used interactively by the user is the only way to ensure the script doesn't become unstable.
 
 
+Edit Mode / Memory Access
+-------------------------
+
+Switching edit-mode ``bpy.ops.object.mode_set(mode='EDIT')`` / ``bpy.ops.object.mode_set(mode='OBJECT')`` will re-allocate objects data, any references to a meshes vertices/faces/uvs, armatures bones, curves points etc cannot be accessed after switching edit-mode.
+
+Only the reference to the data its self can be re-accessed, the following example will crash.
+
+.. code-block:: python
+
+   mesh = bpy.context.active_object.data
+   faces = mesh.faces
+   bpy.ops.object.mode_set(mode='EDIT')
+   bpy.ops.object.mode_set(mode='OBJECT')
+
+   # this will crash
+   print(faces)
+
+
+So after switching edit-mode you need to re-access any object data variables, the following example shows how to avoid the crash above.
+
+.. code-block:: python
+
+   mesh = bpy.context.active_object.data
+   faces = mesh.faces

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list