remove unneeded null checks from commit r56194, also minor style cleanup.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk@56196 954f8c5b-7b00-dc11-b283-0030488c597c
revision r56196 adding uv select more/less used 4 nested 'for' loops, 
rewrite to use only 2.

also use generic, reusable functions for selection flushing so each operator doesn't need to implement its own.
and merge more-less operation into the same function, just call the selection flush function with select/deselect arg.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk@56197 954f8c5b-7b00-dc11-b283-0030488c597c
fix for error in own recent changes to vertex weight drawing in editmode.
where disabling show_weight, the colors would still draw.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk@56198 954f8c5b-7b00-dc11-b283-0030488c597c
Update Ceres to current upstream version

This brings a fixes for threading issue in BLAS
making BA step more robust (there were some in-detemrinacy
caused by this threading issue).

Also brings some optimizations, which does not directly
affect on blender.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk@56199 954f8c5b-7b00-dc11-b283-0030488c597c
Fix #35039: two other issues with curve caps

- Skip filling caps if spline is cyclic
- Use hard limit of 1024 for curve resolution

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk@56200 954f8c5b-7b00-dc11-b283-0030488c597c
Fix #35037: Compositor: MultilayerEXR + undo loses image. Crash when selecting in Image Editor

Issue was cause dby ima->ibufs being stored in a ma on
undo/redo and ima->rr not. In case of multilayer image
ibufs hares pointer with render result, so current
undo/redo policy lead to a dead pointer stored in ibuf.

Made it so ima->rr also stores in the map and restores
on redo/undo keeping all the pointers fine.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk@56201 954f8c5b-7b00-dc11-b283-0030488c597c
Support more mapping modes for alpha masks. Tiled, stencil and random

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

Displays such information as current frame dimension,
frame number within image sequence/movie and in case
of image sequence input displays current file name of
a frame.

Not entirely happy with such approach, but was requested
a lot by artists.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk@56203 954f8c5b-7b00-dc11-b283-0030488c597c
fix [#35026] Curve build modifier


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk@56204 954f8c5b-7b00-dc11-b283-0030488c597c
missed setting loop edges in previous commit.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk@56205 954f8c5b-7b00-dc11-b283-0030488c597c
Bugfix [#34836] Crash when driver variable has path == 'data'

Most of the places which relied on RNA_path_resolve() did so believing that if
it returned true, that it had found a valid property, and that the returned
pointer+property combination would be what the path referred to. However, it
turns out that if the property at the end of the path turns out to be a
"pointer" property (e.g. "data" for Object.data), this would automatically
become the pointer part, while the prop part would be set to null. Hence, if a
user accidentally (or otherwise) specifies a path for the single-property driver
variable type like this, then Blender would crash.

This commit introduces two convenience functions - RNA_path_resolve_property()
and RNA_path_resolve_property_full() - which mirror/wrap the existing
RNA_path_resolve() functions. The only difference though is that these include a
check to ensure that what was found from resolving the path was in fact a
property (they only return true iff this is the case), and make it explicitly
clear in the name that this is what they will do so that there's no further
confusion. It is possible to do without these wrapper functions by doing these
checks inline, but the few cases that had been patched already were pretty
hideous looking specimens. Using these just make it clearer and simpler for all.

I've also beefed up the docs on these a bit, and changed these to using bools.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk@56206 954f8c5b-7b00-dc11-b283-0030488c597c
Fix #35054: adjust tooltip for Render Border option in 3D view panel to say
it has an effect outside of the camera view.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk@56207 954f8c5b-7b00-dc11-b283-0030488c597c
Attempt to fix #35041 and #34725: cycles crash with OSL and both a 3D viewport
and preview running at the same time.

It seems there's something in OSL/LLVM that's not thread safe, but I couldn't
figure out what exactly. Now all renders share the same OSL ShadingSystem which
should avoid the problem.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk@56208 954f8c5b-7b00-dc11-b283-0030488c597c
Fix #34350: Maya Keyboard map preset problems

Two main things:

- Made a python operator for selection in a viewport
  which will de-select everything if nothing is under
  the mouse.

  To do so needed to modify VIEW3D_OT_select, so invoke
  sets mouse location which is later used by exec
  function.

  This way it's possible to select stuff from python
  defined operator.

  Not best-ever solution since ideally exec() shall not
  do OpenGL stuff, but we've got this issue in some
  other operators. We'll solve this later.

- Used a keymap from Gianmichele Mariani as a reference,
  updated his keymap to latest changes in operators.

  We shall match Maya keymap much better now, thanks
  for the keymap dude!

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk@56209 954f8c5b-7b00-dc11-b283-0030488c597c
Fix #35051: when viewing a complex node setup in the material properties, the
properties were continuously redrawing, which slowed down everything else.

The problem was integer overflow, with a short only capable of storing values
up to 32767. Note that sockets are collapsed by default since the previous
release, and that's it's not very useful to edit such complex node setups in
the properties editor, it's mainly meant for simple setups or group nodes to
present just a few sockets.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk@56210 954f8c5b-7b00-dc11-b283-0030488c597c
tweak to vertex slide drawing, reduce line alpha, could cover vertex and make it hard to see whats happening.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk@56211 954f8c5b-7b00-dc11-b283-0030488c597c
Fix part of #34746: crash importing certain collada files with armatures. It still
imports the armature wrong though.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk@56212 954f8c5b-7b00-dc11-b283-0030488c597c
Non-synthetic tests for tracker

- Tripod motion and fabric eingang footages are
  from Sebastian Koenig who agreed to provide this
  file for our test collection. Thanks!

- Bundle adjustment test is from Mango production.



git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk@56213 954f8c5b-7b00-dc11-b283-0030488c597c
fix own mistake updating edge slide, even edge-slide was broken


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk@56214 954f8c5b-7b00-dc11-b283-0030488c597c
Nicer registration mechanism for node categories. The lists of node categories and items are now stored in a dictionary with an identifier key, so they can be registered and unregistered individually. The Add menu is now persistent and gets extended with a draw function for each of the registered node category lists.

This allows pynodes to define their own list of node categories and items and register it at runtime without interfering with the standard nodes.

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