if 2 pyrna structs used the same pointer they could incorrectly compare as true, this caused an error in theme saving because an item could match its parent and stop writing (to prevent recursive writing of same data).
eg:
context.user_preferences.themes[0].user_interface.wcol_regular == context.user_preferences.themes[0].user_interface
Issue was caused by incorrectly set PTS value frames came form Scene strip renderer.
This value used to be calculated from RenderData current and start frame which
lead to non-uniformuly counting which totally confuses encoder.
Switch append_avi and append_ffmpeg to use current frame from rendering scene
(which was already passing to this functions and was used mostly for logging)
and start frame of rendering scene (it's new parameter added). This allowed to
calculate correct PTS value easily and get rid of global static sframe variable
in writeavi.c file.
normalize function simply wasn't called on the mirror vertex.
also fix 3 other bugs / inconsistencies
* when mirror is enabled, center verts get themselves as the mirror vertex, wpaint code didn't check for this case, mirroring the vertex to it self (would work, but unneeded).
* normalizing after painting would scale the active weight too, now keep the painted weight and adjust others when normalizing.
* VP_ONLYVGROUP wasn't respected for mirror (mirror vertex group would always be added).
Added RNA for the unified paint setting flags that matches the Brush
RNA. Fixed the getter/setter functions to avoid guessing which Scene's
UnifiedPaintSetting to use. The getter functions take a Scene pointer
now, the setter functions are removed in favor of a more explicit
approach through RNA:
Rather than RNA choosing whether a property's value is in the Brush or
in the UnifiedPaintSettings, there are now explicit properties for
both. The UI code has been modified accordingly to switch the toggle
buttons between affecting the Brush and the UnifiedPaintSettings.
File subversion is bumped to two in order to copy over the old fields.
This removes two RNA properties, sculpt_paint_use_unified_size and
sculpt_paint_use_unified_strength.
Code review link:
http://codereview.appspot.com/5529077
There are also some changes that need to be done to libmv but I'm
leaving those out so I can get it patched upstream first.
(Only works with gcc/g++ if we want to use sun's compiler we would need
to get rid of all of our annonymous structs which I don't think
we want to do at this point, example:
typedef struct wmNDOFMotionData {
union {
float tvec[3]; // translation
struct { float tx, ty, tz; }; // this would need to be fixed
// something like this or something similar:
struct { float x, y, z; } t;
};
...
)
Kent