reported by macouno. Thanks!
The crash was caused by a lack of curvature information required
for smooth edges. Now the curvature information is computed if and
only if there are smooth edges. This leads to a minor performance
improvement, because in the past the curvature information was
always computed when the Face Smoothness was enabled.
(To be precise, the above description is true when both the Ridges
and Valleys and Suggestive Contours options are disabled. If they
are enabled, the curvature information is always computed because
it is necessary for the determination of these edge natures.)
discussed with Janne, Ton, Nathan and we agreed this kind of change at least needs discussion with module owners.
Its also too close to release to be making these kinds of changes.
commands used:
# reverse merge
svn merge -r36073:36072 .
# for some reason this gave a lot of property changes
svn revert `svn st | grep "^ M" | awk '{print $2}'`
# reverse merging didn't work here, removing while dir.
svn rm extern/eltopo/
# manually fixed conflict in
# ./source/blenderplayer/CMakeLists.txt
#
# also manually removed 2 lines from
# ./CMakeLists.txt
It was simply missed crazyspace correction for shape keys when mesh is
deformed by modifiers and current tool is smooth/layer (they need special
approach due to they don't use proxies)
* ghost frame 1 did nothing (alpha 0.0).
* was subtracting alpha from the existing alpha which could end up with negative alpha.
* with larger frame ranges the frames on each size would get too close to being the same as the active frames alpha, use 66% alpha for all non-active frames as well as time based falloff.
- only attempt to restore old 'user' settings (not local), since bundled blender's always use their own settings.
- only automatically run 'bpy.ops.wm.read_homefile()' after copying files if the user hasnt alreadt started making changes in the blend file.
This crash was discovered by Dalai and this happened because of
unset current context (as result of call wglMakeCurrent(NULL, NULL)).
In this case glGetString(GL_VENDOR) returns NULL. Rather than add check
for vendor != NULL before string comparison, I've changed a bit logic of
context creation:
- Create context and set it as current
- If it's crappy Intel card -- delete this context and
share the only one context between all Windows
- Otherwise, use initial logic (with sharing lists and so on)
This could also fix crash when opening userprefs from a menu with Intel card.
Made the new "superknife" tool much stabler
then it was, though a few minor quirks remain.
Rather then the shortest-distance-in-graph method
I was using to rebuild the mesh post-knife I
reworked it to build a triangulation instead,
then merge the triangles into the right correct
faces.
* memory corruption when skipping over long marker (was attempting to read over end of file)
* also updated internal jpeg macros to be the same as in jpeg lib