Crash in snapping, bvh tree. Wrong check for numFaces here.
Fixed the crash by adding test for face pointer, but not sure
what the coder intended here. Needs investigation, left XXX remark.
When report error was drawn in info header, using border select
or paint brushes flickered. Was caused by Triple Buffer method
not checking for correct redraw case.
Also made report redraws less aggressive, it was drawing the info
header all over with 50 FPS for 10 seconds. Made it 20 FPS, and
added code to only send notifiers for actual changes.
As todo note for future: animated UI options could get better
caching to cope with slower refreshes.
Logic Window: Actuator type options in menu didn't show special options
for Armature or Mesh when 'show selected' was used.
Dalai proposed a nice new RNA feature for inherited types, but with
only two exceptions handled, it was easy to code this check.
* Fluid baking (using the job system) didn't update the "lastgoodframe" anymore, so reversing the frames didn't work. Now the last valid frame is checked by going through all fluid bake files when "reverse frames" is selected.
* There was all kinds of fancy checks done in the fluid modifier for reading a different frame in different cases, but as the "lastgoodframe" was really not working I don't see the point of this whole code, so removed it for now. The new functionality is: if the fluid data for current frame exists use it, otherwise just return unmodified domain mesh without any fancy backup plans.
* There were also some errors on reading uncompleted files (scrubbing timeline while bake was running), so I made the fluid file reader just return null if the number of faces didn't correspond to to actually read data. Previously this just printed an error to the console.
This is an annoying but which isn't a problem for Python because they don't execute multiple scripts, one after another (there is one __main__ and everything else is a module).
So when the __main__ module in sys.modules is overwritten, it decref's the module and clears the dictionary with _PyModule_Clear(), even though the modules dictionary is still in use.
Strangely this problem only happens with Python3.1.1 and Python3.2x svn but not 3.1.2
This commit restores the namespace after _PyModule_Clear() sets all its values to None.
This happened when removing vertex normal flipping in the render engine. But
actually the normal of the first face in the curve was flipped on rendering,
because it used a different vertex order than other places. Also removed the
hack that computes a face normal only from a triangle instead of a quad.
On entering editmode Curve/Nurbs, the undo buffer was not
correct; storing old Curve/Nurbs object name. This caused
for example the Operator tool redo options to fail; it added
another curve on first use (with user pref "enter editmode).
Solved with adding good undo push + nicer code for curve and
nurbs naming.
- ortho grid now draws scaled by the view3d 'Scale' setting, venomgfx noticed this was missing.
- so as not to confuse add scale next to unit display text, so rather then "Metres" it shows "Metres x 1.5" otherwise its confusing that grid lines are not in exact units.
- changed grid spacing to grid scale (needed for more logical behavior with units)
- when units are enabled grey out subdivisions.
- Python calling operators didn't run WM_operator_properties_sanitize() so enum functions called from python were given a NULL context.
- PROP_ENUM_NO_CONTEXT and PROP_NEVER_NULL used the same value in the enum (possible conflict).
Playback now works. The problem was that material/texture nodetrees were getting ignored completely, as I was assuming that all of these existed in the main->nodetree collection when in fact only the "group" nodetrees lived there. I don't really agree with this, but that's the way it is...
TODO: animation editor support still to come
Color picker: RMB "insert single value" was inserting all three values.
Same case as yesterday, made code recurse into open menu to check for
active button there.