Commit Graph

42579 Commits

Author SHA1 Message Date
Sergey Sharybin
d03e768761 Fix T38260: Missing object update with two visible scenes
It was an issue with early object update check which was
screwing up for second scene because of first one reset
ID recalc flags.

From the comment in the code about this:

  We need to check all visible scenes, otherwise resetting
  OB_ID changed flag will only work fine for first scene of
  multiple visible and all the rest will skip update.

  This could also lead to wrong behavior scene update handlers
  because of missing ID datablock changed flags.

  This is a bit of a bummer to allocate list here, but likely
  it wouldn't become too much bad because it only happens when
  objects were actually changed.
2014-01-17 18:57:49 +06:00
Joshua Leung
929fb8324b Similar reshuffling of theme settings order for DopeSheet to ensure pairs end up on same rows 2014-01-18 01:38:39 +13:00
Joshua Leung
d308bc7eba Reshuffle Graph Editor theme settings to get pairs of settings to line up 2014-01-18 01:38:38 +13:00
Joshua Leung
2df2ef5801 Bump up default size of vertices in Graph Editor to make them easier to see/select 2014-01-18 01:38:37 +13:00
Bastien Montagne
df88dbf955 Fix T38161: Copy Material to Others causes incorrect viewport display if target object uses more materials
We need to update object data, like when removing a mat slot, since some mat indices might have become invalid!
2014-01-17 13:16:07 +01:00
IRIE Shinsuke
6489c1f94d Blender Internal: Correct GLSL preview, material using shader nodes didn't consider "Transparency" is a shader pipeline option. 2014-01-17 16:32:45 +09:00
Campbell Barton
63ccb26303 Code Cleanup: spelling 2014-01-17 17:35:03 +11:00
Campbell Barton
477a84a738 BMesh: minor optimization for remove doubles
- replace heap allocation with stack for small arrays.
- remove edge-lookup when its already known.
2014-01-17 17:21:41 +11:00
Campbell Barton
5568d7c3a1 EditMesh: add delete loose operator (access from Cleanup menu) 2014-01-17 14:55:06 +11:00
Campbell Barton
7df8452d1a BMesh: add bmesh delete functions that dont depend on operator flags 2014-01-17 14:55:06 +11:00
Joshua Leung
5c74ac2c2a Build Modifier - Add "Reversed" Option
This commit introduces the ability to make the Build Modifier operate in reverse,
essentially allowing it to be used as a "deconstruction" effect.

(See D219 for more details about use cases for this)
2014-01-17 14:53:04 +13:00
Joshua Leung
607df8090b Fix for long keyframes not getting faded out with their associated keyframes on protected channels 2014-01-17 14:53:03 +13:00
Joshua Leung
d8fa72bfb1 Assorted polish fixes for keyframe theme settings patch
* Version patching fixes for theme settings
* Added missing support for NLA (needed for the keyframes drawn in the action lines)
* Fix for a lack of contrast between selected and unselected extreme keyframe type
  (restoring it back to the pre-patch color scheme)
* Fix for keyframes on protected channels not being drawn with partial opacity
2014-01-17 14:53:02 +13:00
Jose Molina Garcia
5e5b0cee4f T37579: Theme settings for Keyframe Colours
This patch makes it possible to customise the colours used for the different
keyframe types (Keyframe, Breakdown, Extreme, Jitter) and the border colours
(normal and selected).

Reviewed by: Joshua Leung
2014-01-17 14:42:10 +13:00
Campbell Barton
52bccd1188 Code Cleanup: remove redundant bmesh functions & make static 2014-01-17 09:42:30 +11:00
Campbell Barton
2883a48b3c BMesh: minor speedup for deleting faces. also remove unused delete-all 2014-01-17 09:35:53 +11:00
Campbell Barton
e7a6efa2a7 Code Cleanup: move delete funcs out of bmesh_construct.c into own file 2014-01-17 09:21:30 +11:00
Campbell Barton
5b1330e99d Outliner: minor speedup for drawing, avoid 3 rna lookups per object
also for movie-clip dope-sheet
2014-01-17 08:39:17 +11:00
Brecht Van Lommel
568e678fa3 Code cleanup: fix gcc/clang compiler warning in release build. 2014-01-16 22:28:09 +01:00
Brecht Van Lommel
62f9be7615 Fix T37958: part of blender internal approximate AO / indirect light preprocess
could not be cancelled.
2014-01-16 22:25:48 +01:00
Campbell Barton
9cc5c157e8 Minor change to last commit to solidify, only allocate bitmap as needed 2014-01-17 06:59:14 +11:00
Campbell Barton
6fdf78eaf6 Correct versioning check for manipulator 2014-01-17 04:24:59 +11:00
Campbell Barton
79bed4d9d3 Code Cleanup: loop over ThemeSpace's where possible 2014-01-17 03:52:25 +11:00
Campbell Barton
a780e7f3f0 BLF: Fix for changing the DPI storing many fonts (300+)
Each dpi value stores its own set of font sizes, so while dragging the
dpi value would collect many sizes and never free.

Also change how BLF_cache_clear works,
it was freeing memory but not the OpenGL textures.

Now just free all the cache and GL textures and let drawing allocate them again as needed.
2014-01-17 03:13:23 +11:00
Campbell Barton
7c6d52eb07 BLF: avoid allocating empty array in blf_glyph_cache_texture 2014-01-17 02:16:22 +11:00
Campbell Barton
6b283f1168 Fix for BLF using realloc() on guarded-alloced memory 2014-01-17 02:13:55 +11:00
Campbell Barton
15ab4638cb Code Cleanup: spelling 2014-01-17 01:54:37 +11:00
Campbell Barton
38e683cbb1 Fix T38217: Fix glitch adding Monkey with view align
added an option so view-align can default to a different axis.
2014-01-16 23:54:04 +11:00
Sergey Sharybin
e9fb4299eb Fix T38116: Crash when using solidify modifier on multi-user mesh
Issue was caused by solidify modifier using original vertices bitfield
to store tags. This isn't thread-safe obviously. Now use bitmap to store
needed tags.

Reviewed by Campbell, thanks!
2014-01-16 17:49:33 +06:00
Campbell Barton
348cf17448 Code Cleanup: no need to pass empty strings as default values 2014-01-16 22:00:29 +11:00
Campbell Barton
9f16790840 Code Cleanup: avoid using G_PICKSEL for transform manipulator 2014-01-16 20:54:14 +11:00
Campbell Barton
4c2ba8e936 Correct error in own recent commit 2014-01-16 20:52:30 +11:00
Campbell Barton
a4e07aa825 Code Cleanup: outliner used magic numbers for active items and selecting
Replace with enums to make it more obvious whats happening
2014-01-16 20:23:46 +11:00
Sergey Sharybin
4f87ca47a6 Compilation error fix: mismatch declaration 2014-01-16 15:05:04 +06:00
Campbell Barton
af93ebcb50 Code Cleanup: style and redundant casts 2014-01-16 19:15:53 +11:00
Campbell Barton
bb1a7e4d87 Code Cleanup: simplify matcaps checks and quiet warning 2014-01-16 18:32:57 +11:00
Andrew Buttery
d7c46c5d16 User Prefs: Manipulator unit and tooltip fixes
removal of x5 hardcoded size multiplier
2014-01-16 16:47:12 +11:00
Sergey Sharybin
95acd3b20a Tweak to early threaded update escape
Issue was caused by some objects being in bMain and tagged
for update but not being in the DAG. This means objects
wouldn't be updated and their recalc flag remains untouched
triggering threaded for the next frame.

Solved by tweaking POST_UPDATE_HANDLER_WORKAROUND in the way
that it checks objects' recalc flags from the DAG, not from
the bMain. This will work a bit longer since DAG stored more
nodes than objects in the scene, but this code only runs in
cases when there're some objects tagged for update, which
keeps overall CPU usage on such a workaround pretty low.

Now CPU usage on 11a_comp scene from project Pampa went down
from ~15% down to ~5% (2,69 release uses ~%7).

Pointed by Thomas Dinges in IRC.
2014-01-16 02:07:59 +06:00
Sergey Sharybin
c78d9a3184 Fix T38233: Right click in Particle Edit mode closes application
It was wrong memory access in selection operators when point doesn't
have keys.
2014-01-16 01:34:08 +06:00
Sergey Sharybin
df72d3cc7f Potential fix for T38111: Duplicating BOIDS emitter cause glitchy operation
Need to reset cached KD tree when duplicating particle system.
2014-01-16 00:56:35 +06:00
Brecht Van Lommel
e79b244097 Fix collada and freestyle module compile errors after recent commit, forgot to
compile with those enabled.
2014-01-15 19:15:51 +01:00
Andrew Buttery
3b5fa7bba0 UI: add "double click to rename" tooltip to list items.
This is to try to avoid some confusion now that the separate text fields are gone.

Reviewed By: billrey, brecht

Differential Revision: https://developer.blender.org/D217
2014-01-15 17:08:28 +01:00
Tom Edwards
1f2136b329 Python/Depsgraph: bpy.data.*.is_updated now detects add/remove of any datablock.
Previously this only worked for some datablocks relevant to rendering, now it
can be used to detect if any type of datablock was added or removed (but not
yet to detect if it was modified, we need many more depsgraph tags for that).

Most of the changes are some function parameter changes, the important parts
are the DAG_id_type_tag calls.

Reviewed By: sergey, brecht

Differential Revision: https://developer.blender.org/D195
2014-01-15 16:47:53 +01:00
Brecht Van Lommel
8c444958fc Fix T38234: changing smooth/flat shading on linked mesh data should not be allowed. 2014-01-15 16:02:48 +01:00
Sergey Sharybin
ebbb6adf32 Fix for infinite freestyle re-render in the viewport
Was a regression since e618d8238e and was caused by the wrong
main being tagged for update.
2014-01-15 17:42:01 +06:00
Sergey Sharybin
8ff58ee491 Eek, terrible typo in previous commit
Pointed by Bastien!
2014-01-15 16:42:00 +06:00
Sergey Sharybin
6c629e7594 Only check OB_RECALC_ALL flags of the object in transform code
Because of the issue of how simplification works, there could
be more flags in on->recalc bitfield which are ignored by object
anyway.

Would save some update calls after simplificating the scene.
2014-01-15 16:38:47 +06:00
Sergey Sharybin
eb89570733 Followup to the previous commit
It was actually rather simple to make sure depsgraph is up to date
before calling BKE_object_handle_update() in the transform code by
just moving DAG_scene_relations_update() to the beginning of the
function.

Wouldn't expect any side effects for other cases since DAG is not
used bu the code between new location of the call and old one.
2014-01-15 16:36:48 +06:00
Sergey Sharybin
1ad4b85e8f Fix T38224: Blender crashes on duplicating curve
Issue is caused by the evaluation flags getter called with
NULL depsgraph. It happens on direct object update from the
transform code after duplicating the curve.

Proper solution is probably to make sure depsgraph is rebuild
after duplication, but for now it's better to prevent crashes.
2014-01-15 16:27:25 +06:00
Sergey Sharybin
2678b12a36 Fix T38216: Cycles render crash Blender in some scene in versions
Issue was caused by evaluation flags getter function polluting
the DAG. Need to use dag_find_node() instead.

Still need to doublecheck exporting objects with curve deform
works properly. On the first thought it should, but might be
wrong again.
2014-01-15 15:54:27 +06:00