to an other layer
WM_operator_props_popup() and subsequent block handle function redo_cb()
was popping an operator undo, without having pushed one previously -
this would undo one too many times when using the properties invoke popup.
Fixed by adding an undo push to WM_operator_props_popup()
[#20854] PROPERTIES STAMP: Rendering stamp flickers in output renders
Blenfont was not thread safe, that is why one thread can change
the font properties (size, dpi, color, etc) at the same time
that the stamp draw on the image, and then the problem.
To make blenfont thread safe I have to change two important things:
1) Every BLF_* function take one argument, the font id.
2) We have two new function to make font "thread safe":
BLF_load_unique
BLF_load_mem_unique
This two function are for case like stamp, that need and own font
that don't share the glyph cache, so can draw without problem
in a different thread.
Why the BLF_*_unique function ?
Because blenfont keep only one copy of a font and keep a list of
"glyph cache". Every glyph cache have size and dpi, so if two
different thread access the same font at the same time, they can
change value and finish with something like the stamp problem.
Why don't remove the glyph cache ?
Because if we do that, we finish with a font object for every size
and dpi, and the stamp is really a special case that happen in
the rendering process, so I really thing is better keep the
glyph cache and make this two new function to handle this
special case.
(When I say "font object" I mean have the same freetype font multiple
times just to have differents size and dpi)
As Matt point we still can have one case that two thread access
the BLF_*_unique function at the same time, but I am looking to
fix this with some class of thread lock.
For now I test and work fine, so if some one found problem, please
let me know.
Campbell I have to change the python api (python/generic/blf_api.c)
to the new syntax, so maybe you can take a look at this.
Made texture/texture slot context a bit less flaky when dealing with active material and
texture nodes inside a node material in the node editor. Now if the active material has
nodes enabled, and there are no active material/texture nodes inside it, nothing will be
shown in the texture properties (similar to 2.49).
Previously all modifier operators relied on the buttons layout data context pointer to
decide which modifier to work on. This meant that these operators would only work
from from the properties panel, and not from scripting/macros or for operator redo.
This commit makes all modifier operators take the modifier name as an operator
property, so the operators can be re-done or executed outside of the modifier panel.
When invoking the operators from the modifier panel, they automatically fill in the
operator property from context.
This isn't a perfect API design, but it does bring these operators in line with the design
of being able to access all UI functionality via other means like scripts.
Made the loop cut confirmation (when finding an edge ring to cut) happen on
mouse press, rather than release.
This has a nice side effect when using the 'release confirm' option, combining
the two steps into one - with this on you can click once to immediately place the
cut in the center, or click+drag to move the cut line where you want it to.
See: http://mke3.net/blender/devel/2.5/loopcut_releaseconfirm.mov
Note that this is not the patch by dfelinto on the mailing list, since that fix would cause compiler warnings. Also, the invoke() (with the extra wmEvent* arg) is superfluous here, so there shouldn't be any problems with making this exec() only instead.
Select from last selection. This new setting allows to select all files from the last selected to the current. (Works like SHIFT+SELECT in Windows file browser)
Keymap is LEFTMOUSE+ALT for now since LEFTMOUSE+CTRL is already used for renaming (like in outliner)
would convert from quat to matrix and back if the bone had any constraint,
but did not normalize the quat first as done in other places, giving a
sudden jump when starting transform on some bones with constraints. Two
changes:
* Normalize quaternion first.
* Only do this conversion on bones with limit rotation constraints,
instead of all bones with any constraint.
* new icon for split view (at least temporary)
* icon buttons in header rather than popup menus for better efficiency (can easily be changed in python UI script again)
Bone would get a '.' added even when there was no extension.
(center limit would still be useful)
- name flipping function used sizeof() incorrectly.
- ED_lorem should be extern.
fixing
[#21014] SEQUENCER: Can no longer apply colour balance filter to colour effect strip.
Also: reordered some UI elements so that
geometry, time and color modifications are grouped together.