Commit Graph

10681 Commits

Author SHA1 Message Date
04648767fa Make main library safe(er) for the threaded usage
Added a lock to the Main which is getting acquired and released
when modifying it's lists.

Should not be any functional changes now, it just means Main is
now considered safe without worrying about locks in the callee.
2014-06-24 23:35:17 +06:00
c5ccbacdaa move STACK_* macros into BLI_stackdefines.h 2014-06-25 00:01:33 +10:00
d19d1b5497 Add MEMCPY_STRUCT_OFS macro for copying values after a struct member
use for DM_to_mesh to avoid clobbering the ListBase
2014-06-24 23:50:12 +10:00
414c70435d T39690: Modifications to Blender's 'temp dir' system.
Current temporary data of Blender suffers one major issue - default 'temp' dir on Windows is never
automatically cleaned up, and can end being quite big when used by Blender, especially when we have
to store per-process data (using getpid() in file names).

To address this, this patch:
* Divides tempdir paths in two, one for 'base' temp dir (the same as previous unique tempdir path),
  the other is a mkdtemp-generated sub-dir, specific to each Blender instance.
* Only uses base tempdir when we need some shallow persistance accross Blender sessions - and we always
  reuse the same filename (quit.blend...) or generate small file (crash reports...).
* Uses temp sub-dir for heavy files like pointcache or renderEXRs (Save Buffer option).
* Erases temp sub-dir on quit or crash.

To get this working it also adds a working 'recursive delete' to BLI_delete() under Windows.

Note that, as in current code, the 'recover render result' hack-feature that was possible
with SaveBuffer option is still removed. A real renderresult cache feature will be added
soon, though.

Reviewers: campbellbarton, brecht, sergey

Reviewed By: campbellbarton, sergey

CC: sergey

Differential Revision: https://developer.blender.org/D531
2014-06-23 13:42:54 +02:00
caf609cda3 Fix T40727: Renaming nodes did not correctly fix animation paths. 2014-06-21 06:49:12 +02:00
74f2e7fbc7 View3D: Handle un-weighed vertex color properly
D608 by Gaia Clary
2014-06-19 22:34:52 +10:00
804f58c0de Curve: zero memory on access rather then calloc
also remove redundant check
2014-06-19 15:30:08 +10:00
68a8f0073f Complete last commit.
Sorry, forgot to check other uses of BKE_nurb_makeCurve, NURBS surfaces were affected as well.
2014-06-18 23:53:11 +02:00
4bf8b04025 Fix T40694: Curve path messed up.
Error in rB4b4bb410e04e, BKE_nurb_makeCurve() requires its coord_array to be zero'ed,
hence we need calloc here.
2014-06-18 23:47:40 +02:00
3c63eee7b4 Code cleanup: replace 0 with OB_MODE_OBJECT 2014-06-18 16:01:51 +10:00
3a101d8c92 Fix memory leaks in subsurf 2014-06-18 12:07:51 +10:00
fa257adf96 Fix some loss of precision in BKE's unit code.
When converting text to value, units' "value" had only 6 digits of precision,
leading to annoying loss of precision esp. when mixing big and small units
(like e.g. miles and inches).
2014-06-17 16:06:12 +02:00
10af70cef8 Support for building without Python 2014-06-17 22:00:13 +10:00
c40cc0bf6d Remove redundant check 2014-06-17 22:00:13 +10:00
ea3bca75d9 Curve: remove unused displist members 2014-06-15 14:56:59 +10:00
4b4bb410e0 Curve: replace calloc with malloc for values immediately written into 2014-06-15 14:36:33 +10:00
57372f4ef8 Curve: use zero length array for BevList for less confusing syntax 2014-06-15 14:23:23 +10:00
716430ab64 Code cleanup: comments 2014-06-15 12:15:53 +10:00
8cd9d784c7 Replace sqrt with hypot for wipe-effect & transform code 2014-06-14 17:34:52 +10:00
19b1da2b7b Polyfill2d: avoid calculating polygon winding (its known in all cases) 2014-06-14 08:21:52 +10:00
3de3987ea1 Cycles: Add dedicated nodes to split/combine vectors.
This was already possible via the RGB nodes, but that seems weird.
2014-06-13 21:59:14 +02:00
b96172cb05 UI: Add back ability to select a custom interface font 2014-06-14 02:32:38 +10:00
bf462149a6 BLI_bitmap: rename macros
- BLI_BITMAP_SET -> BLI_BITMAP_ENABLE
- BLI_BITMAP_CLEAR -> BLI_BITMAP_DISABLE
- BLI_BITMAP_GET -> BLI_BITMAP_TEST
- BLI_BITMAP_MODIFY -> BLI_BITMAP_SET
2014-06-14 00:47:12 +10:00
a427fa5261 BLI_bitmap: typecheck maco 2014-06-14 00:47:12 +10:00
365ff66987 GSet, GHash: Add BLI_gset_add, since its common to add members to a set
also rename BLI_edgeset_reinsert -> BLI_edgeset_add, in this case its the same.
2014-06-14 00:47:12 +10:00
1962e21703 Code cleanup: remove redundant arg from ARRAY_LAST_ITEM 2014-06-14 00:47:11 +10:00
953559a794 Code cleanup: avoid call to BLI_countlist 2014-06-14 00:47:10 +10:00
e3b47c1e03 Code cleanup: BLI_strdupn -> BLI_strdup 2014-06-14 00:47:10 +10:00
6a75ecda9b Code cleanup: spelling 2014-06-14 00:47:10 +10:00
20550d6f7f Fix T40582: issues with apply scale when having multires and scene simplify
Reshape and applying scale matrix on multires needs to create DM with simplify
setting disabled. Added a special flag to modifier apply for this now.
2014-06-12 13:49:46 +06:00
6a18b0f6bf Regression Bugfix T40332: Bad driver behaviour on small distances.
!!! ANIMATORS/RIGGERS PLEASE TEST !!!

I've reduced the size of the threshold for the keyframe lookup here. This threshold
determines the minimum time in frames between keyframes (i.e. "how close" to each
other they can get). Making this too small causes problems like T39207, but it seems
that the threshold we've been using makes it impossible to get accurate behaviour on
driver curves with keyframes, when the driver target only moves 2cm (i.e. 0.02 BU).

So far, all of the test cases from T39207 seem to work fine, as well as Caminandes 2
files, and Kenny the Caterpillar. The Kiribati rigs/shots (thanks jpbouza for helping
to check on these!) also seem to be fine.
2014-06-11 15:49:12 +12:00
3286c8f8fb Curve: skip curves when matching bevel-fac (like 2.70) 2014-06-10 22:33:24 +10:00
75381aea50 Fix for slowdown converting mesh to curve with large polygons
Walk the linked list rather then doing index lookups.
2014-06-10 01:18:05 +10:00
0ae8ce3ab1 Fix T40057: invisible hair particles slowing down mesh edits
Skip doing particle update in object_handle_update if object is in
edit mode.

Object will be re-evaluated on exit from edit mode anyway, so it's
_expected_ to be a safe change.
2014-06-09 17:33:39 +06:00
30e7bdfe10 Revert "Fix T40382: 2D stabilization uses disabled markers"
It's not that trivial to support disapearing tracks in the sequence,
and since we're having ongoing 2D stabilization rework patch wouldn't
want to start doing rather bigger changes here now.

Let's just stick to legacy behavior for this release.

This reverts commits 91429d0, 543ce85
2014-06-09 14:11:48 +06:00
7f5d9a1f74 Fix compilation error after recent changes
fmc->script is a text datablock, for which we need to
access to it's IT property.
2014-06-06 16:07:58 +06:00
96f81242bd Fix for missing visits of ID's within SceneRenderLayer in BKE_library_foreach_ID_link().
Just noticed them while working on the previous commit (rB00f722042c07).
2014-06-06 12:51:14 +09:00
00f722042c Fix for missing visits of Freestyle-related ID data blocks in BKE_library_foreach_ID_link(). 2014-06-06 12:48:53 +09:00
ae4ed68dfe Code cleanup: style 2014-06-06 07:54:05 +10:00
91429d09a3 Tweak to previous commit 2014-06-05 19:37:12 +06:00
543ce859f3 Fix T40382: 2D stabilization uses disabled markers
This lead to unpredictable results in some cases.
2014-06-05 19:36:20 +06:00
6f47d054ff Code cleanup: mixup hflag/htype 2014-06-05 18:37:53 +10:00
ec97cb87f6 Fix issues when ungrouping meta changes the final sequencer render
Seems to be caused by the way how the most bottom strip in the stack
used to apply effect. Just rendering strip in this cases will not give
proper results.

Made it so effect is applying between empty imbuf and actual strip.
Seems to work by tests, but more intense testing is required.
2014-06-04 22:27:10 +06:00
3e6c734eaa Fix T40457: Subsurf modifier with Freestyle edges
You can't use ORIG index as an index to copy CD from source DM.
2014-06-02 14:24:25 +06:00
edfd989e86 Fix T40315: Boolean modifier with Freestyle edges.
The helper function `make_freestyle_edge_mark_hash()` was referring to the
original mesh to determine Freestyle edge marks for individual derived mesh edges.
This is no longer necessary now that derived meshes deliver CD_FREESTYLE_EDGE
and CD_FREESTYLE_FACE layers of their own.  The reference of the original mesh
was also inappropriate since the edges coming from one of the operands of a boolean
modifier don't have proper CD_ORIGINDEX values but ORIGINDEX_NONE's.

Many thanks to Sergey Sharybin for patch contributions and discussions.
2014-06-01 16:24:18 +09:00
6b538f4271 Fix T40445: Disabled modifiers prevent cage edit mode.
No valid reason to make non-mapping modifiers break edit cage,
when they are disabled in 3DView/edit mode!
2014-05-30 20:22:23 +02:00
9c9fc626b7 Comments: Note direction in doxy args 2014-05-29 22:05:07 +10:00
6c721a86ff Cleanup: Use doxy for more structured comments 2014-05-29 21:17:48 +10:00
d7708817d6 Sequencer: use escaping for sequence names 2014-05-29 20:39:51 +10:00
3e0d5898e5 Fix T39686: nused omp firstprivate variable sphdata in particles 2014-05-29 15:20:19 +06:00