This was caused by how keymap is guessing for importer/exporter:
- In some cases if detected wrong keymap like for IMPORT_CURVE_OT_svg
curve editing context was used because of CURVE_OT substring in
operator name
- In other cases no keymap was detected because of substrings
WM_keymap_guess_opname cheched.
Fixed by using Window keymap for any operator with EXPORT_/IMPORT_ substring
which seems to detect importer/exporter operator and only them nicely.
- dont do name based object lookup to find the object for a mesh undo state (possibly object is renamed inbetween undos which would crash)
- remove some todo comments for things that are working as they should.
* Replaced the hard coded viscosity presets with Python ones.
* Added version check, so older files load fine.
Loading new files into 2.62 also works fine.
seed the random number generator to at least make these operator repeatable.
I don't know why it is using random numbers at all, we should really not be
doing this in my opinion, but I don't understand why it's being done so won't
remove it.
data, and tool settings.
What exactly should be copied is a bit up to interpretation, but I think these make
sense, and things like audio or game data used to be part of render settings which
do get copied so at least for those it was a regression.
a) Remove "animatable" flag from resolution property
b) "Hide fluid surface": Add description and changed prperty name. Nobody really understood the purpose of that checkbox.
* Drag'n'drop translation in Outliner
* "Execute" button in file window
* "Labels" of spacing elements, in multi-column enums
* A glitch with nodes "Value to RGB", they where called "ColorRamp" in node_type_base() call. This is not definitive, though, as it appears that UI node names are determined by this call, while it should be by "defines" in rna_nodetrre_types.h, I guess... Anyway, not good to have such things in two different places!
Also moved default context name under BLF_translation.h, much better to have those all in one place, accessible from whole Blender code!
argv is defined as "char *" here so that unicode magic can happen causing
problems later on when "const char**" is expected instead. While this fix is
redundant on other platforms, it's a lot less confusing than some of the
alternative fixes.
while. This may not fix all cases but should at least solve the issue when
rendering with cycles.
The cause was a race condition on C->data.recursion, with multiple threads
accessing context at the same time. Cycles itself does not access context
from the render thread, but the bpy api would do a context update for any
callback in case e.g. a new file got loaded. Disabled that now in non-main
threads.
The ideal solution would be to not allow any context access at all from threads
but that's not so simple to implement, especially not this close to release.