remove workaround for [#31555], forcing PYTHONIOENCODING was causing stdout to be lost on exit - no MEM_printmemlist_stats()


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@53350 954f8c5b-7b00-dc11-b283-0030488c597c
remove unneeded inline lookups and fix error with wpaint_stroke_test_start returning OPERATOR_PASS_THROUGH rather then a boolean.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@53351 954f8c5b-7b00-dc11-b283-0030488c597c
Add 'vertex_only' option to bevel tool.
Right now, changing segments to > 1 doesn't do anything,
but intend to work on making that cause rounded corners.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@53352 954f8c5b-7b00-dc11-b283-0030488c597c
fix for memory leak with weight painting and ensure vertex group is created before use.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@53353 954f8c5b-7b00-dc11-b283-0030488c597c
code cleanup:
- free_dverts -> BKE_defvert_array_free
- copy_dverts -> BKE_defvert_array_copy

also move the functions from BKE_mesh into BKE_deform


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@53354 954f8c5b-7b00-dc11-b283-0030488c597c
This commit frees list ui items from their dependencies to Panel, and hence from all the limitations this implied (mostly, the "only one list per panel" one).

It introduces a new (py-extendable and registrable) RNA type, UIList (roughly similar to Panel one), which currently contains only "standard" list's scroll pos and size (but may be expended to include e.g. some filtering data, etc.). This now makes lists completely independent from Panels!

This UIList has a draw_item callback which allows to customize items' drawing from python, that all addons can now use. Incidentally, this also greatly simplifies the C code of this widget, as we do not code any "special case" here anymore!

To make all this work, other changes were also necessary:

* Now all buttons (uiBut struct) have a 'custom_data' void pointer, used currently to store the uiList struct associated with a given uiLayoutListBox.

* DynamicPaintSurface now exposes a new bool, use_color_preview (readonly), saying whether that surface has some 3D view preview data or not.

* UILayout class has now four new (static) functions, to get the actual icon of any RNA object (important e.g. with materials or textures), and to get an enum item's UI name, description and icon.

* UILayout's label() func now takes an optional 'icon_value' integer parameter, which if not zero will override the 'icon' one (mandatory to use "custom" icons as generated for material/texture/... previews).
  Note: not sure whether we should add that one to all UILayout's prop funcs?

Note: will update addons using template list asap.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@53355 954f8c5b-7b00-dc11-b283-0030488c597c
The new feature printing changed properties in python history list didn't free 
a list of context properties. Give lots of leaked small blocks...




git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@53356 954f8c5b-7b00-dc11-b283-0030488c597c
revert r53356, this stopped the leak but still wasn't working nice.

Add asserts when CTX_data_pointer_get/CTX_data_collection_get are incorrectly used.

disable context inspection for now, Will enable again when its working properly.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@53357 954f8c5b-7b00-dc11-b283-0030488c597c
fix for memory leaks in own recent changes.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@53358 954f8c5b-7b00-dc11-b283-0030488c597c
style cleanup: var naming for ui list


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@53359 954f8c5b-7b00-dc11-b283-0030488c597c
add missing free for ui lists


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@53360 954f8c5b-7b00-dc11-b283-0030488c597c
Yesterday's memory free error fix in IMB_onehalf was wrong, it should 
be fixed in the icons code!



git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@53361 954f8c5b-7b00-dc11-b283-0030488c597c
remove type checks on drawing uiList's,

if the list is given the wrong item then the script needs to be fixed, better not fail silently.

left in checks as commented out asserts.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@53362 954f8c5b-7b00-dc11-b283-0030488c597c
fix [#33677] Lambda is un-settable for mesh.vertices_smooth_laplacian

lambda is python keyword.


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

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@53364 954f8c5b-7b00-dc11-b283-0030488c597c
patch [#33687] select similar lamp
by Saurabh Wankhade (sauraedron), with some edits.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@53365 954f8c5b-7b00-dc11-b283-0030488c597c
patch [#33669] SConstruct: Tell how to pass BF_PYTHON_INC to SCons is it is not found
from anatoly techtonik (techtonik)


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

Blender didn't detect properly whether event came from a mouse-wheel or
from a trackpad in OS X.

Now you can both, and both are handled independently.

Removed back hack from 2 years ago - which disabled mouse wheel for laptops.



git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@53367 954f8c5b-7b00-dc11-b283-0030488c597c
Expose BKE_constraint_mat_convertspace() as object's convert_space() func in RNA. Converting between various standard spaces (like local, pose, world, etc.) can become quite hairy (especially with bones), as we already have this code in C, let's help py devs' life.

Thanks to Campbell for the review and advices.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@53368 954f8c5b-7b00-dc11-b283-0030488c597c
Fix [#33424] Inadequate bake action.

bake_action tries to make kind of a 'visual keying'... On one side, this is rather stupid when you keep constraints (in this case, keying actual loc/rot/scale transforms, i.e. matrix_basis, is enough, doing more would lead to unexpected behavior with some constraints). On the other one, making a good visual keying of bones is *really* tricky, so now using the new object's convert_space() func to compute that (when the user chooses to remove the constraints).

Incidentally, this greatly simplifies the code of bake_action!

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