Commit Graph

40119 Commits

Author SHA1 Message Date
683db783d0 Make fonts safe(r) for threading
Getting vfont data wasn't safe for threading, because it
was modifying font data which is in bmain and could be
shared by multiple objects.

For now made it so getting vfont uses critical section,
meaning vfont->data is initializing from inside a locked
mutex.
2013-07-11 09:15:19 +00:00
ac0638f681 Merging r58148 through r58165 from trunk into soc-2013-depsgraph_mt 2013-07-11 08:25:37 +00:00
991459d0ce fix [#36090] Blender displays strange symbol in edge length 2013-07-11 05:11:10 +00:00
b035ce3a82 fix [#36089] crash when using a tiff without TIFFTAG_EXTRASAMPLES 2013-07-11 04:38:47 +00:00
7fec23ae0a fix for problem with edge slide where it would stop shapekey modifier from being applied (because of added vertices),
now, instead of making hidden copies of faces, the faces are copied into a temp bmesh.

also remove a hash that was being created and not used (old code).
2013-07-11 04:24:36 +00:00
b36999b2f7 bm_loop_interp_mdisps was doing multiple lookups in the same pointer in a nested loop. only need one, also avoid multiple layer lookups with mdisp calculation/smoothing 2013-07-11 01:28:27 +00:00
990cad983b Fix #36082: animation playback not working after rendering of background scenes and
multiple render layer nodes. Also fixes issue with database free with vector blur
after recent thread safety changes.
2013-07-10 16:46:13 +00:00
e3a604b233 Tag object-data level boundbox as invalid rather than freeing it
Object update used to free object-data level bounding box to trigger
it's re-calculation in the future. Such a freeing performed from
object update isn't thread-safe because mesh could be shared between
multiple objects.

Rather than freeing bounding box, tag it's as invalid, this is safe
from threading point of view and also prevents unnecessary memory
re-allocation.

Object-level bounding box is still reallocating, but think we could
change this easily in the future as well.
2013-07-10 14:26:31 +00:00
930dde34a3 BM_mesh_clear was setting toolflags incorrectly, also no meed to calloc when shrinking toolflags array. 2013-07-10 13:06:31 +00:00
99fe6d29eb skip duplicating faces for edge slide unless its used, this causes update problems for shape keys at the moment, Ill check on that but no need to run in most cases. 2013-07-10 12:37:15 +00:00
3d13f22e89 no need to copy mat4x4 -> 3x3 in mat4_to_scale 2013-07-10 12:12:58 +00:00
9a167e37ad Remove unused bounding box from MetaBall 2013-07-10 11:36:52 +00:00
ffaffd32cb Get rid of confusing usage of cu->bb in BKE_object_minmax
Curve-type objects now always does have object'level
bounding box, meaning cu->bb wouldn't evenr used in
BKE_object_minmax.

So zapping this confusing check for whether ob->bb
exists, which is always truth. Makes it easier to
follow what cu->bb is for and what ob->bb is for.
2013-07-10 11:36:47 +00:00
48d0ebf692 Merging r58144 through r58147 form trunk into soc-2013-depsgraph_mt 2013-07-10 10:31:59 +00:00
5e1d450b90 Fix #36076: Metaballs as particles with particle texture (size influence) crashes Blender
Issue was caused by size influence affecting on object's matrix, which
is nice by it's own. But mball code was using ob->size to check whether
it's zero-sized object or not, but then was using ob->obmat to scale
the meta elements.

This lead to situation when zero-sized elements were trying to tessellate,
which is for sure a really bad idea.
2013-07-10 10:24:06 +00:00
3f9629a4c7 patch [#36078] Fixes joining behavior for curves and armatures (when active object not selected). 2013-07-10 09:55:10 +00:00
6ebfdd8dc3 remove reference to wrong python version in comments & pedantic style edit. 2013-07-10 09:40:49 +00:00
7b77ef8a21 Merging r58125 through r58143 from trunk into soc-2013-depsgraph_mt 2013-07-10 09:13:45 +00:00
24a3fc5a6b fix for possible bug with compilers that dont have boolean support. 2013-07-10 08:01:06 +00:00
f47fe89b19 fix [#36065] UI labels are shown in the theme color for unselected list items 2013-07-10 08:00:00 +00:00
Lukas Toenne
0cc9b45294 Fix #36041, Chroma key broken. Compositor node was using wrong socket index to link the output of the RGBToYCC operation to the chroma matte input.
This mistake happens over and over, it's just not clear what the index arguments in these relink functions mean ... We really need to clean up that interface.
2013-07-10 07:23:55 +00:00
e6291ea418 fix [#36079] Use Modifier Stack Crash with Particles 2013-07-10 05:46:45 +00:00
06be19c0ec add asserts for passing in bad index values to DM_get_***_data, CustomData_get() 2013-07-10 05:38:36 +00:00
974ec7ddcf fix for particle lasso-select inverting the selection. 2013-07-10 05:01:49 +00:00
34fc990997 fix [#35406] Hair puff brush bug
- puff was interpolating hair that made longer strands cirl up.
- also fixed problem with puff-volume option, it was over-accumulating so unselected parts of the hair would have too much offset applied.
2013-07-10 04:54:14 +00:00
aabddad346 draw loopcut display on the deformed mesh when in editmode. 2013-07-10 02:05:16 +00:00
b0312d5991 fix [#35948] Toggle-Draw AutoKeyframe Bug 2013-07-10 01:13:24 +00:00
3f34a88fc8 Fix #36075: editing shading nodes could still crash blender internal rendered
draw mode. This happens because it uses node data structures in threads, now
it does same as preview render, which is to immediately stop the render thread
when e.g. deleting nodes.
2013-07-10 01:05:56 +00:00
a3643ee3d6 fix [#36073] Changing list items misses undo push 2013-07-09 23:40:53 +00:00
795034c17d Fix for bug #36009: Rendered ortho view messes up Freestyle lines in 3D viewport.
Clipping start is negative when the viewport preview is used with the orthographic view,
while Freestyle assumes that imported mesh data are in the camera coordinate system
with the view point located at origin.  The present solution is to adjust the clipping
start/end and introduce a Z-axis offset for mesh vertices so as to satisfy the assumption.
2013-07-09 23:25:02 +00:00
5569a4b282 Fix missing cycles viewport update when changing manual texture space
location or size in the properties editor.
2013-07-09 22:27:18 +00:00
92835d3030 Merging r58112 through r58124 from trunk into soc-2013-depsgraph_mt 2013-07-09 19:22:26 +00:00
677e136e4b Partial revert of rev58110
There's one thing we didn't foresee from the beginning,
which is apparently TLS is only available in OSX starting
from version 10.7, and we still do support of 10.6.

After recent Brecht's changes about locked viewport
while initializing BI render this TLS is not needed
in trunk anymore. So reverting this chunk of base
iteration to use static variable. But leaving all the
other static variables warped into context still, it
should help a bit in the future refactor.

Real fix would be to have some kind of graph context
evaluation structure which would be passing to update
routines (which will solve threaded mballs update) and
making depsgraph responsible for getting a motherball.
But this is all for GSoC project.
2013-07-09 18:38:33 +00:00
8491814a10 fix [#36004] Vertex parent on curve point results in blank 'parent_type' on child object 2013-07-09 13:50:22 +00:00
79f264bd69 Fix blender environment map texture looking different on the first render with
an image file, the image extend is set automatically when render starts but not
when the image was never loaded yet.
2013-07-09 13:47:19 +00:00
c3c84521f1 fix [#36055] Edge/Face Info display on wrong position with key frames
display editmesh stats with deform modifiers.
2013-07-09 12:59:31 +00:00
381df05641 Fix #36030: datablock drag and drop to buttons not working with a certain number
of objects in the scene.
2013-07-09 11:31:49 +00:00
Lukas Toenne
75c7032a19 Fix #36050, backdrop not working. The compositor backdrop requires a restart of the compositing job, which does not happen if just enabling backdrop after adding a viewer node. To fix this added the appropriate notifiers in a update callback for the show_backdrop property. 2013-07-09 09:10:42 +00:00
643d709d14 Merging r58073 through r58111 from trunk into soc-2013-depsgraph_mt 2013-07-09 08:44:06 +00:00
80738a1828 add checks in paintface_flush_flags for faces which have no original index values. (could give out of bounds writes) 2013-07-09 08:25:30 +00:00
86546ca42d Fixed more threading issues with metaballs
This time issue was caused by static variables used in
BKE_scene_base_iter_next function.

Change is not so much ultimate actually, but didn't
find more clear solution for now. So the changes are:

- Wrap almost all the static variables into own context-
  like structure, which is owned by the callee function
  and getting passed to the iteration function.

- Recursion detection wasn't possible with such approach,
  so recursion detection still uses static in_next_object
  variable, but which is now stored in thread local
  storage (TLS, or thread variable if this names are more
  clear for you).

This makes code thread-safe, but for sure final solution
shall be completely different. Ideally, dependency graph
shall be possible to answer on question "which object is
a motherball for this metaball". This will avoid iterating
via all the bases, objects and duplis just to get needed
motherball.

Further, metaball evaluation ideally will use the same
kind of depsgraph filtering, which will get result for
question like "which objects belongs to this group of
metaballs".

But this ideal things are to be solved in Joshua's and
mind GSoC projects.

Tested on linux (gcc and clang) and windows (msvc2008),
hopefully no compilation error will happen.

Thanks to Brecht for reviewing the change and getting
feedback for other possible ways we've dicussed!
2013-07-09 08:23:01 +00:00
139754894b fix [#36039] Texture paint bug with face selection on subdivided object
original patch by Antony Riakiotakis, made some edits to only check origindex when needed.
2013-07-09 08:17:14 +00:00
fba8e8861c fix for error in vertex_group_vert_select_unlocked_poll, check for non existing group wasn't right. 2013-07-09 07:50:16 +00:00
34b301f0a4 fix error where if you tried to bridge an odd number of loops after bridging pairs, there was no way to change the options.
eventually I think the operator api should support this but for now return finished.
2013-07-09 06:34:54 +00:00
d4ff53b760 fix [#36066] crash when Tab out text object
the way Curve.len is used at the moment is really stupid, calculate string size on save for now, but should really store the length in bytes and total number of characters.
2013-07-09 06:21:45 +00:00
750b30c7dd fix [#36008] Can't set values higher than 1.0 in HSV colour picker (But can in RGB) - also some strange behavior 2013-07-09 04:00:56 +00:00
bd5cb6fb3b fix for own error in normal-recalc r58077, initial face flipping wasn't checking against face-island center. 2013-07-09 01:18:15 +00:00
14ab39c5e0 minor improvements
- calc normals only check flag when needed.
- keymap, dont get name unless its needed.
- keymap, avoid property lookup.
- idprop debug print, include pointer, helpful for troubleshooting.
2013-07-09 00:13:17 +00:00
6c0d97fbcf fix [#35806] Unable to check "Correct UVs" option in "Loop Cut and Slide" (Keymap Editor) 2013-07-09 00:08:18 +00:00
a2553444fa Fix #35969: blender internal and cycles not updating mesh while in edit mode.
Patch for blender internal made by Campbell.
2013-07-08 22:41:14 +00:00