Malloc is getting to be safe on sequence tracking by the jobs system,
so no additional set up are necessary.
This hopefully fixes crash on OSX with OpenMP enabled when compiling by older gcc
Linking changes active object which is pretty useful in general,
but which totally confuses edit mode (i.e. it becoming not so obvious
to leave from edit mode and inwalid tools in toolbar might be displayed)
so disable link/append when in edit mode
bug was that uiPupMenuSaveOver(...) could run the WM API call function which freed the operator, within the low level invoke function which kept using the freed memory.
Changed uiPupMenuSaveOver(...) to only show a popup so the caller needs to check if the file exists and should be immediately written (which was done everywhere except for blend saving anyway).
* added note that operators invoke/exec funcs cant call WM_operator_call(...) on themselves, ends up using freed memory.
* added BLI_is_file(path), checks the file exists and isnt a directory.
changes
* undo now checks screen jobs only, was checking all jobs before so a material preview could make an undo fail.
now this is only limiteds for render/fluid bake/bake.
* the redo UI is now disabled when screen operators run.
- Rotation now happens around initial stroke location rather than around scene origin
- Added slider for rotation strength which helps in cases only few rotation is needed
to be to increase the precision of such strokes
This was broken in r.42515. In particular, rigs with Spline IK would break,
since they often use curves with hook modifiers controlling the control-points
of those curves.
Return OPERATOR_FINISHED from select grouped operator in any case so
even if nothing were selected operator would be registered in redo panel
and threshold can be adjusted there.
- Pass MFace, MTface and OrigIndex arrays via userData to compareDrawParams callback
rather than looking up for this layers for each face
- This allowed to avoid massing DM to compare callback which seems like a bad-level pass
- Fixed crashes on some video cards when assigning different materials to different
faces in edit mode. Both of intel and nvidia cards in my laptop were affected by
this error
in most cases the caller would then check if the name was different to see if the name was flipped, incorrectly comparing the uninitialized string with the original name.
A valid derivedmesh is needed for modifier_get_vgroup to work, and it wasn’t take care of when not in edit mode... Checked quickly the other deform modifiers, they all seem to handle this correctly.
added checks to mesh.validate() so it checks for nan weights and negative groups which can crash blender.
the file in the report looks to be corrupt, but this at least can make it load.
also noticed validate was using isnan() and finite() were both used to check valid vertex locations, only finite is needed.
- defvert_remove_index's index wasnt used anywhere, rename to defvert_remove_group
- defvert_add_to_group was local in MOD_weightvg_util.c, moved to deform.c and renamed to defvert_add_index_notest
real fix coming next...