Fix #33939, if initialization of vert slide failed, code did not handle
the case well.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@53933 954f8c5b-7b00-dc11-b283-0030488c597c
SVN maintenance.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@53934 954f8c5b-7b00-dc11-b283-0030488c597c
Cycles Hair: Fix of cardinal curve intersection routine

Fixed some of my own mistakes in the cardinal curve intersection routine.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@53935 954f8c5b-7b00-dc11-b283-0030488c597c
Ommit extraneous check for paint tool in 3d mapping case (Only draw tool
uses this anyway) and avoid copying of coordinate for 3D case.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@53936 954f8c5b-7b00-dc11-b283-0030488c597c
Bevel vertex only (shortcut: control-shift-B) initial commit.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@53937 954f8c5b-7b00-dc11-b283-0030488c597c
code cleanup: style & warnings.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@53938 954f8c5b-7b00-dc11-b283-0030488c597c
minor changes to _build_translations_cache(), remove unneeded NULL checks and use slightly different funcs for getting strings.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@53939 954f8c5b-7b00-dc11-b283-0030488c597c
Bugfix [#33946] Bake Action fails in SVN for Objects

The problems here were caused by a cleanup commit (r. 53369).
BTW, the code here is pretty convoluted mess.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@53940 954f8c5b-7b00-dc11-b283-0030488c597c
fix for own error in vertex slide, isolated verts mixed with regular selection would crash.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@53941 954f8c5b-7b00-dc11-b283-0030488c597c
Fix compiling problems with translation stuff disabled


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@53942 954f8c5b-7b00-dc11-b283-0030488c597c
Bugfix [#33852] Scale of a strip in NLA is changed after moving it long distance
using numeric input

When using numeric input to move strips, the strip extent clamping code could
end up prematurely truncating one endpoint. This was because the clamping code
uses the values of the other end (e.g. end for start, and start for end) as one
of the limits on its allowable range to prevent inverted strips.

Now we just set these values twice - the first time, one of the endpoints may
still get truncated (while the other one will be able to go to its correct
value), then the second time both will get set correctly (and validated too).


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@53943 954f8c5b-7b00-dc11-b283-0030488c597c
Style cleanup


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@53944 954f8c5b-7b00-dc11-b283-0030488c597c
Various cleanup in i18n code (having funcs implemented in two different places is tricky, you quickly forget to add/edit one, we already have this problem with ugly bplayer stub... e.g. since r53938, BLF_locale_explode was not implemented in non-WITH_INTERNATIONAL builds). Also tried to simplify #ifdef's here...

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@53945 954f8c5b-7b00-dc11-b283-0030488c597c
Fixed render time regression in Blender Internal

It was caused by image threading safe commit and it was noticeable
only on really multi-core CPU (like dual-socket Xeon stations), was
not visible on core i7 machine.

The reason of slowdown was spinlock around image buffer referencing,
which lead to lots of cores waiting for single core and using image
buffer after it was referenced was not so much longer than doing
reference itself.

The most clear solution here seemed to be introducing Image Pool
which will contain list of loaded and referenced image buffers, so
all threads could skip lock if the pool is used for reading only.
Lock only needed in cases when buffer for requested image user is
missing in the pool. This lock will happen only once per image so
overall amount of locks is much less that it was before.

To operate with pool:
- BKE_image_pool_new() creates new pool
- BKE_image_pool_free() destroys pool and dereferences all image
  buffers which were loaded to it
- BKE_image_pool_acquire_ibuf() returns image buffer for given
  image and user. Pool could be NULL and in this case fallback to
  BKE_image_acquire_ibuf will happen.

  This helps to avoid lots to if(poll) checks in image sampling
  code.

- BKE_image_pool_release_ibuf releases image buffer. In fact, it
  will only do something if pool is NULL, in all other case it'll
  equal to DoNothing operation.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@53946 954f8c5b-7b00-dc11-b283-0030488c597c
Support normalized displacement maps in cases maximal distance is not set

This will calculate maximal distance automatically and normalize displacement
to it. Before this change normalization will not happen at all in cases max
distance is not set manually.

This affects on "regular" baker only, there are still some fixes to come for
multiresolution baker, but that could be solved separately.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@53947 954f8c5b-7b00-dc11-b283-0030488c597c
fix regression in own recent commit, vertex flags were left uninitialized.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@53948 954f8c5b-7b00-dc11-b283-0030488c597c
Fixes to BLF_locale_explode, was not handling all cases correctly (own fault) :/

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@53949 954f8c5b-7b00-dc11-b283-0030488c597c
Patch [#33926] Menu separators to group the items on Specials Menu
Submitted by: Harley Acheson (harley)

This patch adds separators to group items in the Special Menu in EditMode. Order
of items is untouched.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@53950 954f8c5b-7b00-dc11-b283-0030488c597c
I18n fix: "" context is not the same as NULL context!

This bug did not appear earlier because the "" default context was actually never used, always NULL context was passed instead. But bpy.app.translations uses "" as default context in its keys (simplifies the hash/comp functions of internal py messages cache)...

So now, Blender prefers NULL (None in python) as default context value, but understands also "" as such.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@53951 954f8c5b-7b00-dc11-b283-0030488c597c
Expose locale_explode in bpy.app.translations, will be handy in i18n manipulation scripts/addons.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@53952 954f8c5b-7b00-dc11-b283-0030488c597c