6 years agoCode Cleanup: find operator once and reuse
Campbell Barton [Thu, 23 Jan 2014 11:05:51 +0000 (22:05 +1100)]
Code Cleanup: find operator once and reuse

6 years agoFix typo in mmap commit from a while ago
Sergey Sharybin [Thu, 23 Jan 2014 12:41:38 +0000 (18:41 +0600)]
Fix typo in mmap commit from a while ago

6 years agoFix for IMB_(un)premultiply_rect_float() not doing right business
Sergey Sharybin [Thu, 23 Jan 2014 10:51:32 +0000 (16:51 +0600)]
Fix for IMB_(un)premultiply_rect_float() not doing right business

- Made them receive number of channels rather than number of planes.
  This matches to how ImBuf structure stored planes and channels.
- IMB_premultiply_rect_float() was called with channels passed instead
  of planes already :S.

6 years agoFix T38284: Crash with several shrinkwrap constraint using same target
Sergey Sharybin [Thu, 23 Jan 2014 10:24:41 +0000 (16:24 +0600)]
Fix T38284: Crash with several shrinkwrap constraint using same target

Issue is caused by the race condition between getting custom data layers
from target's derived mesh (for vertices and faces) and releasing this
derived mesh from other threads.

When one releases the derived mesh it'll free temporary data from it,
and it'll also update data layers mapping.

General rule for threading is that no one is ever allowed to modify
data he doesn't own. This means that no temp layers are to be allocated
in derived mesh and making it so `CustomData_free_temporary()` doesn't
update mapping if nothing was freed will solve the race condition.

It is still possible to do other improvements, namely detect which
additional data/layers are to be present in derived mesh and create
it as a part of `object_handle_update()`, but this is to be solved

6 years agoRemoved the omat matrix from DupliObject.
Lukas Tönne [Thu, 23 Jan 2014 09:20:42 +0000 (10:20 +0100)]
Removed the omat matrix from DupliObject.

This was storing the original object matrix, which builds on the
assumption that obmat is modified during dupli construction, which is a
bad hack.

Now the obmats are still modified, but this only happens outside of the
dupli system itself and the original ("omat") is stored as local
variables in the same place where the obmat manipulation takes place.
This is easier to follow and avoids hidden hacks as much as possible.

Reviewed By: campbellbarton

Differential Revision:

6 years agoFix T38042: Keymap crash after reloading operators
Campbell Barton [Thu, 23 Jan 2014 08:00:30 +0000 (19:00 +1100)]
Fix T38042: Keymap crash after reloading operators

After some investigation with mont29, seems like the best way to ensure
keymaps point to valid operators is using WM_keyconfig_update().

6 years agoWM: add WM_operatortype_remove_ptr to remove a known operator
Campbell Barton [Thu, 23 Jan 2014 07:01:52 +0000 (18:01 +1100)]
WM: add WM_operatortype_remove_ptr to remove a known operator

6 years agoFix T38328: GLSL display shows texture mapping completely messed up in some cases
Bastien Montagne [Thu, 23 Jan 2014 07:37:07 +0000 (08:37 +0100)]
Fix T38328: GLSL display shows texture mapping completely messed up in some cases

Own stupid typo in rB28ca299d4dfc...

6 years agoFix T38110: GameEngine keyboard sensor ignores unicode characters
Campbell Barton [Thu, 23 Jan 2014 03:58:04 +0000 (14:58 +1100)]
Fix T38110: GameEngine keyboard sensor ignores unicode characters

6 years agoBGE Bitmap Text: add in check if the character is outside the range
Campbell Barton [Thu, 23 Jan 2014 02:37:09 +0000 (13:37 +1100)]
BGE Bitmap Text: add in check if the character is outside the range

6 years agoFix T38325: Game Engine Bitmap fonts failed for characters >128
Campbell Barton [Thu, 23 Jan 2014 02:29:49 +0000 (13:29 +1100)]
Fix T38325: Game Engine Bitmap fonts failed for characters >128

6 years agoThemes: update for tab colors
Campbell Barton [Thu, 23 Jan 2014 01:08:39 +0000 (12:08 +1100)]
Themes: update for tab colors

6 years agoTab theme colors
Campbell Barton [Thu, 23 Jan 2014 00:44:35 +0000 (11:44 +1100)]
Tab theme colors

patch D234 from Jonathan Williamson with edits

- de-duplicate rna_def_userdef_theme_space_gradient and rna_def_userdef_theme_space_generic
- ui_theme_init_new_do now always sets theme settings (no need to test),
  used by bpy.ops.ui.reset_default_theme()

6 years agoFix T38311: cycles BVH cache crash on Windows.
Brecht Van Lommel [Thu, 23 Jan 2014 00:13:09 +0000 (01:13 +0100)]
Fix T38311: cycles BVH cache crash on Windows.

6 years agoMemory allocation: do not use mmap for memory allocation on 64 bit.
Brecht Van Lommel [Thu, 23 Jan 2014 00:08:37 +0000 (01:08 +0100)]
Memory allocation: do not use mmap for memory allocation on 64 bit.

On Windows we can only do mmap memory allocation up to 4 GB, which causes a
crash when doing very large renders on 64 bit systems with a lot of memory.

As far as I can tell the reason to use mmap is to get around address space
limitation on some 32 bit operating systems, and I can't see a reason to use
it on 64 bit. For the original explanation see here:

Fixes T37841.

6 years agoFix T38316: Half of a Face is Missing on Newly Created Cubes or Cylinders.
Bastien Montagne [Wed, 22 Jan 2014 18:49:14 +0000 (19:49 +0100)]
Fix T38316: Half of a Face is Missing on Newly Created Cubes or Cylinders.

Own bug from rBc691551249f3. Now at least I understand why `test_index_face()` is needed for tessellated quads!

Added a bunch of comments to explain the issue, as it's far from an obvious one...

We loose some performances, but it's still much quicker than org code.

6 years agoFix T38323: blender viewport render in particle hair edit mode renders halos.
Brecht Van Lommel [Wed, 22 Jan 2014 18:50:36 +0000 (19:50 +0100)]
Fix T38323: blender viewport render in particle hair edit mode renders halos.

Currently it's not supported to do viewport render of particles while in
particle edit mode, hide the particle instead of rendering halos.

6 years agoFix T37940: Curve Render bug in Blender Internal Render.
Sergey Sharybin [Wed, 22 Jan 2014 16:53:50 +0000 (22:53 +0600)]
Fix T37940: Curve Render bug in Blender Internal Render.

Issue was caused by curve object really scale up. It was
caused by 677f519 to make scaled down curves work fine.

After some tweaks to epsilon value scaled up curves seems
to work as well.

6 years agoFix T38319: no camera error message for render not showing correctly.
Brecht Van Lommel [Wed, 22 Jan 2014 16:40:10 +0000 (17:40 +0100)]
Fix T38319: no camera error message for render not showing correctly.

6 years agoFix T37198: Vorbis encoding is broken
Sergey Sharybin [Wed, 22 Jan 2014 16:11:13 +0000 (22:11 +0600)]
Fix T37198: Vorbis encoding is broken

Issue was caused by wrong PTS calculation. This commit
makes this calculation closer to what's happening in
FFmpeg itself.

Seems everything is working now including newer FFmpeg,
but there's one thing which still doesn't work: writing
avi files with h264 codec and Vorbis audio doesn't play
correct in mplayer here. But didn't manage to get this
working even using FFmpeg CLI, so this might be just a
bug in FFmpeg/mplayer. Since this file works fine in
blender just fine wouldn't consider this is crucial thing
to look into at this moment.

6 years agoFix tool properties region drawing even if the toolbar is hidden.
Brecht Van Lommel [Wed, 22 Jan 2014 15:35:11 +0000 (16:35 +0100)]
Fix tool properties region drawing even if the toolbar is hidden.

This would show as a line on the side of the 3D view with high DPI / retina,
not easy to notice.

6 years agoFix T38318: blender internal viewport now uses viewport, not render visibility.
Brecht Van Lommel [Wed, 22 Jan 2014 14:48:17 +0000 (15:48 +0100)]
Fix T38318: blender internal viewport now uses viewport, not render visibility.

This is the same as cycles and more consistent with it also using viewport

6 years agoFix for particle emission bug, reported on IRC by Thomas Beck
Lukas Tönne [Wed, 22 Jan 2014 15:26:09 +0000 (16:26 +0100)]
Fix for particle emission bug, reported on IRC by Thomas Beck
(@plasmasolutions): When the particle emitter is parented to a fast
moving object, the emission locations will not be interpolated over
subframes. This works if the particle emitter is animated itself.
Particle system evaluates the emitter location for each subframe, but
has to do this for the parent objects as well to get reliable results.

6 years agoRevert "Fix T37920: BGE LibLoad failed for meshes with no materials"
Campbell Barton [Wed, 22 Jan 2014 13:49:58 +0000 (00:49 +1100)]
Revert "Fix T37920: BGE LibLoad failed for meshes with no materials"

This reverts commit 6a473305af22468abfc4c4f8f3002dc0a97fffd7.

Caused T38296, need to investigate this further but for now
better not leave blender in unstable state.

6 years agoFix T38011 and cleanup of Lens Distortion node code.
Lukas Tönne [Wed, 22 Jan 2014 13:32:21 +0000 (14:32 +0100)]
Fix T38011 and cleanup of Lens Distortion node code.

The area-of-interest calculation for that node didn't work reliably.
It tries to estimate the distorted rectangular area based on min/max
distortion and dispersion values, but this fails in some cases and
leaves uninitialized buffer chunks. So now simply use the full input
rect as the area, even though it may not be as efficient - at least it
works ...

Also cleaned up the code somewhat to make it understandable, using
separate functions for common stuff instead of cryptic walls of math.

6 years agoFix T38315: keymap configuration export did not export deactivated items correct.
Brecht Van Lommel [Wed, 22 Jan 2014 13:24:37 +0000 (14:24 +0100)]
Fix T38315: keymap configuration export did not export deactivated items correct.

6 years agoFix T38312: Crash when using snap transform in edit mode
Sergey Sharybin [Wed, 22 Jan 2014 10:28:28 +0000 (16:28 +0600)]
Fix T38312: Crash when using snap transform in edit mode

Issue was caused by uninitialized boolean flag.

6 years agoMake memory checker happy about FileGlobal
Sergey Sharybin [Wed, 22 Jan 2014 10:23:55 +0000 (16:23 +0600)]
Make memory checker happy about FileGlobal

FileGlobal structure in write_global() didn't initialize
the while build_hash property and only placed there null
terminated meaningful content, leaving trailing uninitialized.

This made valgrind complain about using uninitialized memory
later in undo stack.

6 years agoBMesh: collapse_uvs - avoid clearing and flagging for every cd-layer
Campbell Barton [Wed, 22 Jan 2014 06:11:46 +0000 (17:11 +1100)]
BMesh: collapse_uvs - avoid clearing and flagging for every cd-layer

6 years agoFix T38306: dupliframes causing viewport render to continually restart.
Brecht Van Lommel [Tue, 21 Jan 2014 20:01:12 +0000 (21:01 +0100)]
Fix T38306: dupliframes causing viewport render to continually restart.

Evaluating the animation is causing the object to get tagged as changed, but in
this case it's not a permanent change so no one should be notified. Also found
a case where the persistent ID for duplis wasn't unique, fixed that as well.

6 years agoCycles Standalone: Volume integrator settings.
Thomas Dinges [Tue, 21 Jan 2014 19:56:29 +0000 (20:56 +0100)]
Cycles Standalone: Volume integrator settings.

6 years agoUsual UI messages fixes.
Bastien Montagne [Tue, 21 Jan 2014 19:18:07 +0000 (20:18 +0100)]
Usual UI messages fixes.

6 years agoCycles Standalone: XML Updates for the integrator.
Thomas Dinges [Tue, 21 Jan 2014 18:15:54 +0000 (19:15 +0100)]
Cycles Standalone: XML Updates for the integrator.

6 years agoAdd missing struct Lattice declaration.
Bastien Montagne [Tue, 21 Jan 2014 16:24:15 +0000 (17:24 +0100)]
Add missing struct Lattice declaration.

6 years agoCode Cleanup: reduce sign conversion
Campbell Barton [Tue, 21 Jan 2014 15:56:52 +0000 (02:56 +1100)]
Code Cleanup: reduce sign conversion

6 years agoCode Cleanup: use bool for return values and correct comments
Campbell Barton [Tue, 21 Jan 2014 15:48:11 +0000 (02:48 +1100)]
Code Cleanup: use bool for return values and correct comments

also remove CDDM_Check, theres no need for it.

6 years agoMinor cleanup from latest coverity checks - if we have a previous curve, we can safel...
Bastien Montagne [Tue, 21 Jan 2014 15:45:31 +0000 (16:45 +0100)]
Minor cleanup from latest coverity checks - if we have a previous curve, we can safely assume we also have a previous stroke!

Better to assert here, than checking this randomly...

6 years agoOptimize tessellation code (min 20% better, up to 300% with some CD layers to tessell...
Bastien Montagne [Tue, 21 Jan 2014 15:32:36 +0000 (16:32 +0100)]
Optimize tessellation code (min 20% better, up to 300% with some CD layers to tessellate).

The main idea is to store (during tessellation) or recreate (during tessdata update) a tessfaceverts-to-loops mapping, and then update all tessdata
in one pass, instead of calling `BKE_mesh_loops_to_mface_corners` repeatedly for all tfaces!

Differential Revision:

Reviewed by Campbell, thanks a lot!

6 years agoFix T38229: 3D view shadeless display not supported with GLSL, so hide in UI.
Brecht Van Lommel [Tue, 21 Jan 2014 14:49:03 +0000 (15:49 +0100)]
Fix T38229: 3D view shadeless display not supported with GLSL, so hide in UI.

6 years agoTiming macros: remove the (void)0 at the end of TIMEIT_BLOCK_INIT,
Bastien Montagne [Tue, 21 Jan 2014 14:48:07 +0000 (15:48 +0100)]
Timing macros: remove the (void)0 at the end of TIMEIT_BLOCK_INIT,
it prevents declaring/using more than one of these timing blocks in a same code block
(C rule, no var declaration and code mixing)...

6 years agoReplace XOR swapping by default ("naive", with extra var) one.
Bastien Montagne [Tue, 21 Jan 2014 14:19:27 +0000 (15:19 +0100)]
Replace XOR swapping by default ("naive", with extra var) one.

Ref:, modern compilers/CPUs are much more efficient with "naive" algo than XOR one.
Doubled check, for me in an optimized build, XOR is several times slower than naive algo.

6 years agoEnable XDND on FreeBSD
Campbell Barton [Tue, 21 Jan 2014 14:48:09 +0000 (01:48 +1100)]
Enable XDND on FreeBSD

6 years agoFix T38265: transferring vertex weights from an object with modifiers not working.
Brecht Van Lommel [Tue, 21 Jan 2014 14:36:00 +0000 (15:36 +0100)]
Fix T38265: transferring vertex weights from an object with modifiers not working.

It was using the modified mesh for the vertex coordinates, and the unmodified mesh
for the vertex weights, which can't work and crashed in some cases, now it used the
modified mesh for both.

Perhaps an option should be added to indicate if you want to transfer from the
unmodified mesh or transfer to the modified mesh, but I think this fix makes it
works as intended when this was implemented.

6 years agoFix T38298: crash saving float image with 3 channels from exr to png/jpeg.
Brecht Van Lommel [Tue, 21 Jan 2014 14:28:13 +0000 (15:28 +0100)]
Fix T38298: crash saving float image with 3 channels from exr to png/jpeg.

6 years agoRevert "Fix T38303: Inconsistent sorting of names in Append/Link view"
Campbell Barton [Tue, 21 Jan 2014 14:29:29 +0000 (01:29 +1100)]
Revert "Fix T38303: Inconsistent sorting of names in Append/Link view"

This reverts commit ba49d7e0e338b2b85cc162d265280bac8dc859cc.

6 years agoFix T38303: Inconsistent sorting of names in Append/Link view
Campbell Barton [Tue, 21 Jan 2014 14:25:07 +0000 (01:25 +1100)]
Fix T38303: Inconsistent sorting of names in Append/Link view

6 years agoFix T38302: sequencer animation data lost in original scene when copying scene.
Brecht Van Lommel [Tue, 21 Jan 2014 14:15:47 +0000 (15:15 +0100)]
Fix T38302: sequencer animation data lost in original scene when copying scene.

6 years agoFix T38300: Bevel didn't always reconstruct faces properly.
Howard Trickey [Tue, 21 Jan 2014 13:58:56 +0000 (08:58 -0500)]
Fix T38300: Bevel didn't always reconstruct faces properly.

With new subdivision method for making the vertex mesh, we always
subdivide the edges between the new vertices around a vertex
(we used to not subdivide edges between two non-beveled edges).
This fixes a bug related to this change.

6 years agoFix T38303: same names with different case sorted unpredictable in the file browser.
Brecht Van Lommel [Tue, 21 Jan 2014 13:50:40 +0000 (14:50 +0100)]
Fix T38303: same names with different case sorted unpredictable in the file browser.

The string comparison was in lower case, so the same strings with different case
were considered the same which can make qsort give different results on each
sort since it's not a stable sort. Now take case into account in comparison.

6 years agoFix T38128: snapping to node border uses node centers.
Lukas Tönne [Tue, 21 Jan 2014 12:13:41 +0000 (13:13 +0100)]
Fix T38128: snapping to node border uses node centers.

This was caused by recent change to transform locations being changed
to the upper-left corner of nodes (rBa857a6f).

6 years agoFix for dupli's using float for id's and signed/unsigned conversion
Campbell Barton [Tue, 21 Jan 2014 11:48:27 +0000 (22:48 +1100)]
Fix for dupli's using float for id's and signed/unsigned conversion

Enable strict flags exposed some strange issues.

6 years agoCode cleanup and structural improvements for dupli generation.
Lukas Tönne [Tue, 21 Jan 2014 11:11:34 +0000 (12:11 +0100)]
Code cleanup and structural improvements for dupli generation.

This is a first step toward improving our dupli system. It implements a more
generic way of treating the various methods of dupli generation by adding a few
  * DupliContext holds a number of arguments commonly used in the recursive dupli functions and defines a recursion state for generating sub-duplis (nested groups). It also helps to prevent bloated argument lists.
  * DupliGenerator is a type struct that unifies the different dupli creation methods (groups, frames, verts, text chars, faces, particles). (As with context there should be no overhead from pointer indirection because everything can still be inlined inside anim.c)

Beside making the code more easily understandable this implementation should
also help to avoid weird side effects from custom matrix hacks by defining
clearly what a generator does. The DupliContext is deliberately made const, so a
generator can not simply add hidden matrix or flag modifications that are hard
to track down.

The result container for the generated duplis is stored in the context instead
of being passed explicitly. This means the generators are oblivious to the
storage of duplis, all they need to do is call the make_dupli function. This
will allow us to implement more efficient ways of storing DupliObject instances,
such as MemPools or batches. These can be implemented alongside the current
ListBase so we can improve dupli bottlenecks without having to replace each and
every dupli use case at once.

Differential Revision:

6 years agoFix for Freestyle stroke rendering performed for each SSS material.
Tamito Kajiyama [Tue, 21 Jan 2014 03:21:12 +0000 (12:21 +0900)]
Fix for Freestyle stroke rendering performed for each SSS material.

6 years agoFix T38295: Crash when changing screen with different visible layers
Sergey Sharybin [Tue, 21 Jan 2014 09:01:32 +0000 (15:01 +0600)]
Fix T38295: Crash when changing screen with different visible layers

The issue was caused by missing object update for the curve object
before going to new screen. And that new screen had different visible
layers due to disabled lock_camera_and_layers option.

Solved by calling DAG_on_visible_update() in ED_screen_set() even
in cases scene doesn't change. This ensures all the objects which
weren't visible before are correctly updated.

6 years agoCleanup: no need to use constraint space transform API here, we can directly call
Bastien Montagne [Tue, 21 Jan 2014 08:13:43 +0000 (09:13 +0100)]
Cleanup: no need to use constraint space transform API here, we can directly call
BKE_armature_mat_pose_to_bone (and avoids the need to get an Object pointer!).
Note the former just calls the later internally, in this case.

6 years agoFix T38251: "Apply Visual Transform to Pose" Offsets bone unpredictably
Bastien Montagne [Tue, 21 Jan 2014 08:10:08 +0000 (09:10 +0100)]
Fix T38251: "Apply Visual Transform to Pose" Offsets bone unpredictably

Code here was using pchan->chan_mat, which for some reason does not work,
we rather have to use pchan->pose_mat, and convert it again from
pose space to bone space, as done by visual keyframing.

6 years agoFix for own refcount error in recent commit
Campbell Barton [Tue, 21 Jan 2014 03:23:39 +0000 (14:23 +1100)]
Fix for own refcount error in recent commit

6 years agoFix own mistake with zealous check for face splitting
Campbell Barton [Tue, 21 Jan 2014 01:27:38 +0000 (12:27 +1100)]
Fix own mistake with zealous check for face splitting

Was disallowing adjacent loops to be split which is correct for a single
split across a face, but not fore BM_face_split_n

6 years agoCode Cleanup: style
Campbell Barton [Mon, 20 Jan 2014 14:19:51 +0000 (01:19 +1100)]
Code Cleanup: style

6 years agoCycles Standalone: Updates for the XML API, added some missing nodes. Still not compl...
Thomas Dinges [Tue, 21 Jan 2014 00:30:20 +0000 (01:30 +0100)]
Cycles Standalone: Updates for the XML API, added some missing nodes. Still not complete, but better.

6 years agoFix T38264: undo/redo broken with text overwrite mode in text editor (insert key).
Justin Dailey [Mon, 20 Jan 2014 21:12:35 +0000 (22:12 +0100)]
Fix T38264: undo/redo broken with text overwrite mode in text editor (insert key).

6 years agoFix T38297: missing StringProperty subtype 'PASSWORD' in API docs.
Brecht Van Lommel [Mon, 20 Jan 2014 21:01:11 +0000 (22:01 +0100)]
Fix T38297: missing StringProperty subtype 'PASSWORD' in API docs.

6 years agoFix T37976: blender internal transparent shadows from volumes not working correct.
Brecht Van Lommel [Mon, 20 Jan 2014 20:55:28 +0000 (21:55 +0100)]
Fix T37976: blender internal transparent shadows from volumes not working correct.

6 years agoCycles Standalone: GUI flag was not passed correctly to the code, own mistake when...
Thomas Dinges [Mon, 20 Jan 2014 20:12:28 +0000 (21:12 +0100)]
Cycles Standalone: GUI flag was not passed correctly to the code, own mistake when I added the GUI build option.

6 years agoCycles: Add a cmake config to easily compile Cycles Standalone.
Thomas Dinges [Mon, 20 Jan 2014 19:41:54 +0000 (20:41 +0100)]
Cycles: Add a cmake config to easily compile Cycles Standalone.

On Linux/Mac OS X, simply type "make cycles" inside the Blender source directory, to get a standalone build of the engine.

Reviewed by: Brecht
Differential Revision:

6 years agoFix T37978: cycles nodes with multiple Material Output nodes not predictable.
Brecht Van Lommel [Mon, 20 Jan 2014 19:29:05 +0000 (20:29 +0100)]
Fix T37978: cycles nodes with multiple Material Output nodes not predictable.

Now it uses the last activated node like compositing does. This should have no
effect on existing files until you activate another output node there.

6 years agoFix T37481: Image Sequence can't be loaded
Andrea Weikert [Mon, 20 Jan 2014 17:54:03 +0000 (18:54 +0100)]
Fix T37481: Image Sequence can't be loaded

Allow loading of image sequences in addition to single images in the open image operator

I solved it by adding the possibility to load an image sequence in the Load Image Operator.
The image user is passed in the operator customdata now as well, best solution for now, but general handling of image user still a bit weak. The offset and length of the image sequence is now calculated in the image open operator by storing all found frames in a list and sorting this list.

Reviewed By: campbellbarton, brecht, lukastoenne

Differential Revision:

6 years agoFix T38283: UV unwrap giving wrong results with particular meshes.
Brecht Van Lommel [Mon, 20 Jan 2014 17:49:09 +0000 (18:49 +0100)]
Fix T38283: UV unwrap giving wrong results with particular meshes.

LSCM auto pinning where it picks two vertices on opposite sides of the outer
UV island boundary would in some cases give the same 3D coordinate, which
causes UV unwrap to give poor results.

6 years agoFix T38294: enabling hair dynamics very slow / hangs with many hairs.
Brecht Van Lommel [Mon, 20 Jan 2014 16:20:58 +0000 (17:20 +0100)]
Fix T38294: enabling hair dynamics very slow / hangs with many hairs.

This function call was accidentally placed inside a loop which gave O(n^2)
behavior, but there's no reason for it.

6 years agoCode cleanup: remove quicktime image loading code (not animation loading).
Brecht Van Lommel [Mon, 20 Jan 2014 15:52:06 +0000 (16:52 +0100)]
Code cleanup: remove quicktime image loading code (not animation loading).

This code has been broken for a few years and no one noticed, it's also less
useful now that we support PSD image loading ourselves which was the original
motivation to have this.

6 years agoFix part of T38280: UI inconsistencies in the texture/image paint stroke panels.
Brecht Van Lommel [Mon, 20 Jan 2014 14:01:33 +0000 (15:01 +0100)]
Fix part of T38280: UI inconsistencies in the texture/image paint stroke panels.

6 years agoBevel: fixed problems with vertex bevel and some 'weld' cases.
Howard Trickey [Mon, 20 Jan 2014 13:48:55 +0000 (08:48 -0500)]
Bevel: fixed problems with vertex bevel and some 'weld' cases.

Vertex bevel was completely messed up after last change,
and this fixes.
'Weld' bevels, where there are exactly two beveled edges
meeting at a vertex, now look better in cases where one
of the beveled edges is on a flat plane.

6 years agoFix T38267: dynamic paint Use Object Material not working correct in some cases.
Brecht Van Lommel [Mon, 20 Jan 2014 13:46:48 +0000 (14:46 +0100)]
Fix T38267: dynamic paint Use Object Material not working correct in some cases.

6 years agoCode Cleanup: tabs/spaces, no need to call CTX_data_edit_object twice
Campbell Barton [Mon, 20 Jan 2014 13:33:00 +0000 (00:33 +1100)]
Code Cleanup: tabs/spaces, no need to call CTX_data_edit_object twice

6 years agoFix T37967: autosave does not save dynamic topology edits while in sculpt mode.
Brecht Van Lommel [Mon, 20 Jan 2014 13:19:49 +0000 (14:19 +0100)]
Fix T37967: autosave does not save dynamic topology edits while in sculpt mode.

6 years agoFix T38269: scene full copy in mesh edit or sculpt mode did not copy mesh edits.
Brecht Van Lommel [Mon, 20 Jan 2014 13:11:12 +0000 (14:11 +0100)]
Fix T38269: scene full copy in mesh edit or sculpt mode did not copy mesh edits.

6 years agoClear object recalc flag on load
Tom Edwards [Mon, 20 Jan 2014 12:36:00 +0000 (18:36 +0600)]
Clear object recalc flag on load

It is possible that object in .blend file will have non-zero
recalc flags. Clear them on load in order to prevent possible
unneeded recalc after the load.

Differential Revision:

6 years agoFix T38291: depgraph tagging was wrong for
Lukas Tönne [Mon, 20 Jan 2014 12:28:26 +0000 (13:28 +0100)]
Fix T38291: depgraph tagging was wrong for
OBJECT_OT_constraint_add_with_targets. This now works exactly the same
way as when setting the target via RNA/constraint buttons.

6 years agoFix T38221: node fcurves in compositor get deleted when muting a node.
Lukas Tönne [Mon, 20 Jan 2014 11:47:58 +0000 (12:47 +0100)]
Fix T38221: node fcurves in compositor get deleted when muting a node.

This is because of the animdata cleanup in rBd2e55cb. This works ok in
general, but causes issues with the localized node trees used for compo/
shader/texture previews. These localized trees share the same default
action as their original trees, and then remove fcurves when removing
muted nodes (which should affect the localized tree only).

node_free_node_ex now has an argument for disabling animdata cleanup,
which is also not necessary when freeing the whole node tree (because
animdata is freed in advance anyway). In addition to that it also checks
the NTREE_IS_LOCALIZED flag to prevent freeing of fcurves in the action.

6 years agoFollowup for 1728c1e: we don't need to replace flags at all
Sergey Sharybin [Mon, 20 Jan 2014 10:10:34 +0000 (16:10 +0600)]
Followup for 1728c1e: we don't need to replace flags at all

Replacing the flags isn't thread safe and could lead to bi troubles.
Such things are to be handled by the dependency graph.

6 years agoPython API: fix for help() failing on bpy instances
Campbell Barton [Mon, 20 Jan 2014 07:13:15 +0000 (18:13 +1100)]
Python API: fix for help() failing on bpy instances

Caused by missing __name__ from bpy.types (alternate method to patch D232)

6 years agoPython API: create args for meta-classes directly (a little faster).
Campbell Barton [Mon, 20 Jan 2014 07:03:23 +0000 (18:03 +1100)]
Python API: create args for meta-classes directly (a little faster).

Also add some new interned strings.

6 years agoFix for incorrect use of DNA_struct_find_nr
Campbell Barton [Mon, 20 Jan 2014 03:11:16 +0000 (14:11 +1100)]
Fix for incorrect use of DNA_struct_find_nr

Patch T38290 by ldo (Lawrence D'Oliveiro)

6 years agoCorrection for recent commit clearing font cache
Campbell Barton [Mon, 20 Jan 2014 01:43:56 +0000 (12:43 +1100)]
Correction for recent commit clearing font cache

- move cache reset into view2d and comment about the rationale for resetting cache there.
- missed other places where view2d zoom level can change (smoothview, borderzoom, home and file reload)
- comment about DPI wasn't correct.

6 years agoFix for saving startup file ignoring editmode/sculpt edits
Campbell Barton [Mon, 20 Jan 2014 01:12:45 +0000 (12:12 +1100)]
Fix for saving startup file ignoring editmode/sculpt edits

6 years agoCode Cleanup: remove redundant NULL checks and add function attributes
Campbell Barton [Mon, 20 Jan 2014 00:13:53 +0000 (11:13 +1100)]
Code Cleanup: remove redundant NULL checks and add function attributes

6 years agoFix for flag not being restored in BKE_vfont_to_curve_ex
Campbell Barton [Sun, 19 Jan 2014 23:44:11 +0000 (10:44 +1100)]
Fix for flag not being restored in BKE_vfont_to_curve_ex

6 years agoRevert "Cycles: mix hair minimum width code with SSE intersection code"
Sv. Lockal [Sun, 19 Jan 2014 20:23:17 +0000 (00:23 +0400)]
Revert "Cycles: mix hair minimum width code with SSE intersection code"

Code is not equivalent in min/max part (SSE works with NaNs differently), this results in black dots with cardinal_curve hair.

This reverts commit b886c26d1f70d512b4f68975142372e3bee81c89.

6 years agoFix last part of T38244: memory leak when scaling any panel
Bastien Montagne [Sun, 19 Jan 2014 13:57:48 +0000 (14:57 +0100)]
Fix last part of T38244: memory leak when scaling any panel

Issue is not noticeable with default font, but i18n one can use more than 500Mo of ram when cached in undreds of different sizes.

Campbell had already done most of the work in rBa780e7f3f09f and rB6b283f116829, just had to call BLF_cache_clear() in _exit funcs of VIEW2D_zoom & co operators.

6 years agoDocs: doxygen file descriptions for BLF, GPU and WM
Campbell Barton [Sun, 19 Jan 2014 12:14:24 +0000 (23:14 +1100)]
Docs: doxygen file descriptions for BLF, GPU and WM

6 years agoIncrease maximum allowed amount of points for Splines in both U and V directions
Simon Repp [Sat, 18 Jan 2014 18:18:53 +0000 (00:18 +0600)]
Increase maximum allowed amount of points for Splines in both U and V directions

Increase the maximum allowed amount of points in a spline from currently 32,767 (short) to 2,147,483,647 (int).
Change variables that get assigned the value from pntsu/pntsv to int type all over the codebase.
Change function parameters that previously passed the count as short to int type as well.


Reviewed By: sergey

Differential Revision:

6 years agoSend sequencer render context as const pointer rather than as value
Sergey Sharybin [Sat, 18 Jan 2014 18:16:19 +0000 (00:16 +0600)]
Send sequencer render context as const pointer rather than as value

No functional changes just creepy to send rather huge structure by value.

6 years agoMake it possible to hide/unhide a node during node transform operations.
Monique Dewanchand [Sat, 18 Jan 2014 17:20:21 +0000 (18:20 +0100)]
Make it possible to hide/unhide a node during node transform operations.
During drag the H key can be used to toggle the hide flag of the selected nodes.
This makes it easier to 'attach' nodes to available links in narrow places.

6 years Fix output conf for CMake (specifying root dirs for OIIO/OCIO is...
Bastien Montagne [Sat, 18 Jan 2014 15:03:23 +0000 (16:03 +0100)] Fix output conf for CMake (specifying root dirs for OIIO/OCIO is not needed when you use default path, but mandatory otherwise, simpler to always give them).

Spotted by dingto on IRC, thanks!

6 years agoCMake: Fix info message for Cycles standalone.
Thomas Dinges [Sat, 18 Jan 2014 14:19:49 +0000 (15:19 +0100)]
CMake: Fix info message for Cycles standalone.

6 years agoCode Cleanup: py script float comparisons
Campbell Barton [Fri, 17 Jan 2014 22:13:51 +0000 (09:13 +1100)]
Code Cleanup: py script float comparisons

6 years agoMath: Code cleanup
Sergej Reich [Fri, 17 Jan 2014 19:44:34 +0000 (20:44 +0100)]
Math: Code cleanup

Remove stray #undef directives.

6 years agoRigidbody: Add missing properties to "Copy Rigid Body Settings" operator
Sergej Reich [Fri, 17 Jan 2014 19:20:46 +0000 (20:20 +0100)]
Rigidbody: Add missing properties to "Copy Rigid Body Settings" operator

6 years agoFix T36190: Rigid Body bake to keyframes bakes wrong the rotations.
Sergej Reich [Fri, 17 Jan 2014 19:08:08 +0000 (20:08 +0100)]
Fix T36190: Rigid Body bake to keyframes bakes wrong the rotations.

Make sure that quaternions are compatible.

6 years agoBlender Internal: Tweak GLSL preview of the spot lamp to use shadow buffer also for...
IRIE Shinsuke [Fri, 17 Jan 2014 12:02:00 +0000 (21:02 +0900)]
Blender Internal: Tweak GLSL preview of the spot lamp to use shadow buffer also for ray shadows, to solve inconsistency with the sun lamp.