style cleanup: also use ARRAY_HAS_ITEM macro for mempool check


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@59340 954f8c5b-7b00-dc11-b283-0030488c597c
correct NULL pointer dereference with recent displist changes.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@59341 954f8c5b-7b00-dc11-b283-0030488c597c
fix own  regression [#36443] Vertex to UV index doesn't match with 2.68a

add BM_face_create_verts wrapper for BM_face_create which creates its own edge array.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@59343 954f8c5b-7b00-dc11-b283-0030488c597c
bmesh api:
- use heap for BM_face_create_ngon_vcloud allocations.
- replace BM_face_create_ngon_verts with more efficient BM_face_create_verts


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@59344 954f8c5b-7b00-dc11-b283-0030488c597c
use BM_CREATE_NOP arg rather then zero, with pointer and bool args in either side in some cases it gets a bit confusing.
also correct edge-rotate where bool->flag conversion worked by accident.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@59346 954f8c5b-7b00-dc11-b283-0030488c597c
Partial revert of recenr cu->disp merge commit

That ended up in tricky code trying to mimic depsgraph
branch behavior API-wise preserving texspace and bound
box calculation compatible with previous releases.

So for now bring cu->disp back to the trunk but keep
texpsace and boundbox APIs the same as in the branch.

This keeps texpsapce and boundbox behavior fully compatible
with previous releases and still makes API the same as
for meshes.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@59347 954f8c5b-7b00-dc11-b283-0030488c597c
bmesh api cleanup, face creation args now accept an example face (as with vertex and edge),
also replace BM_face_create_quad_tri_v with BM_face_create_verts


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@59348 954f8c5b-7b00-dc11-b283-0030488c597c
correct error in last commit


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@59349 954f8c5b-7b00-dc11-b283-0030488c597c
Need to set new curve's disp to NULL when duplicating.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@59353 954f8c5b-7b00-dc11-b283-0030488c597c
Duplicate operator for masks

Topic says it all :)

Jut implemented operator to duplicate mask points
and segments between them (exactly the same behavior
as Curve object duplication in edit mode).

Does not copy animation, but that's tricky and likely
not needed anyway.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@59354 954f8c5b-7b00-dc11-b283-0030488c597c
Clear cyclic flag if we didn't copy the whole mask spline

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@59355 954f8c5b-7b00-dc11-b283-0030488c597c
correct error in recent commit (face customdata)


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@59357 954f8c5b-7b00-dc11-b283-0030488c597c
mesh duplication was doing a loop & hash lookup for every loop corner, when there is no need since the faces are aligned.
was also initializing and stepping an iterator for no reason.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@59358 954f8c5b-7b00-dc11-b283-0030488c597c
Fix #36499: proportional edit circle was drawing behind objects in some cases,
now it always draws in front to ensure the circle is visible.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@59360 954f8c5b-7b00-dc11-b283-0030488c597c
Fix #36526: SSS + hair crash after recent changes.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@59361 954f8c5b-7b00-dc11-b283-0030488c597c
Fix #36453: scaling faces with individual origins would permanently turn of
proportional editing because this combination doesn't work, but it should
be only temporary.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@59362 954f8c5b-7b00-dc11-b283-0030488c597c
Copying of nurbs shall happen after converting font to curves

Otherwise changing font settings wouldn't apply instantly.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@59363 954f8c5b-7b00-dc11-b283-0030488c597c
code cleanup: bmesh duplicate functions
- avoid using an iterator when stepping around an edges radial loop.
- use naming constant with the rest of the bmesh operators.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@59365 954f8c5b-7b00-dc11-b283-0030488c597c
Scultping: Growing the pbvh node container should use malloc instead of
calloc. Since we copy the first 1/1.3 part of the new array from the
existing nodes, only the rest 0.3/1.3 should be initialized to zero.
This should in theory cut down the times of occasional hangs with
dyntopo, since my guess is that it is caused by dynamic reallocations.
Maybe a linked list structure would help here? This is a bigger change
though, leaving as is for now.

Also, minor cleanup, delete duplicate ghash deletion and remove unneeded
commented code.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@59368 954f8c5b-7b00-dc11-b283-0030488c597c
fix for bad mistake in recently added BM_face_create_verts functiofix for bad mistake in recently added BM_face_create_verts functionn


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