6 months agoFix typos
Joshua Leung [Thu, 31 Jan 2019 04:31:51 +0000 (17:31 +1300)]
Fix typos

6 months agoFix T60753: Graph Editor showing cache curves regardless of filters
Joshua Leung [Thu, 31 Jan 2019 02:42:59 +0000 (15:42 +1300)]
Fix T60753: Graph Editor showing cache curves regardless of filters

This commit adds a datablock filtering option for cache files channels,
so that a shot with lots of these in addition to standard animation
(e.g. the Spring production files) don't become bogged down by these.

Furthermore, these channels also respect the "Only Selected" toggle too now.

6 months agoCleanup: trailing commas
Campbell Barton [Sun, 3 Feb 2019 03:01:45 +0000 (14:01 +1100)]
Cleanup: trailing commas

Needed for clan-format not to wrap onto one line.

6 months agoWM: Event simulation support for Python
Campbell Barton [Sat, 2 Feb 2019 04:14:51 +0000 (15:14 +1100)]
WM: Event simulation support for Python

This feature is intended only for testing,
to automate simulating user input.

- Enabled by '--enable-event-simulate'.
- Disables handling all real input events.
- Access by calling `Window.event_simulate(..)`
- Disabling ``
  to allow handling real events (can only disable).

Currently only mouse & keyboard events work well,
NDOF, IME... etc could be added as needed.

See D4286 for example usage.

6 months agoBKE_global: clear deprecated flags on load (all of them)
Campbell Barton [Sat, 2 Feb 2019 03:45:42 +0000 (14:45 +1100)]
BKE_global: clear deprecated flags on load (all of them)

6 months agoCleanup: match logic for merging G.f & G.fileflags on load
Campbell Barton [Sat, 2 Feb 2019 03:01:48 +0000 (14:01 +1100)]
Cleanup: match logic for merging G.f & G.fileflags on load

6 months agoCleanup: use G_FLAG_*/G_FILE_* for G.f/fileflags
Campbell Barton [Sat, 2 Feb 2019 02:39:51 +0000 (13:39 +1100)]
Cleanup: use G_FLAG_*/G_FILE_* for G.f/fileflags

Was confusing eg: G_AUTOPACK belonged to G.fileflags, G_PICKSEL to G.f.

6 months agoCleanup: use enum for BKE globals
Campbell Barton [Sat, 2 Feb 2019 02:29:52 +0000 (13:29 +1100)]
Cleanup: use enum for BKE globals

6 months agoCleanup: remove author/date info from doxy headers
Campbell Barton [Sat, 2 Feb 2019 00:53:07 +0000 (11:53 +1100)]
Cleanup: remove author/date info from doxy headers

6 months agoMerge branch 'blender2.7'
Campbell Barton [Fri, 1 Feb 2019 22:37:50 +0000 (09:37 +1100)]
Merge branch 'blender2.7'

6 months agoColor management: change view transform for color pickers and display modes.
Brecht Van Lommel [Fri, 1 Feb 2019 19:30:10 +0000 (20:30 +0100)]
Color management: change view transform for color pickers and display modes.

* Use simple default view transform for color pickers, as Filmic does not work
  well for all types of colors. We better handle this with an option and tagging
  of colors as emissive or albedo like.
* For solid/workbench we also no longer use Filmic, as there is not enough contrast
  and it's not really needed since this is not physically based lighting.
* For lookdev always take into account the view transform and look. Other view
  settings like exposure are only taken into account if scene lighting is used,
  since these are often dependent on scene light intensity.

Fixes T61022, T57649, T59363.

6 months agoFix T61010: Keying Set - Description edit box disabled, for internal use only.
Bastien Montagne [Fri, 1 Feb 2019 19:33:42 +0000 (20:33 +0100)]
Fix T61010: Keying Set - Description edit box disabled, for internal use only.

Wrong property flag for that one, KeyingSet is a regular RNA class, not
a registrable 'interface' one, unlike KeyingSetInfo...

6 months agoFix T61078: Cycles crash with adaptive smoke sim playback.
Brecht Van Lommel [Fri, 1 Feb 2019 18:05:00 +0000 (19:05 +0100)]
Fix T61078: Cycles crash with adaptive smoke sim playback.

3D image dimensions should be updated on the Cycles side before loading
the smoke data.

6 months agoFix T58206: Eevee light energy soft maximum is too low.
Brecht Van Lommel [Fri, 1 Feb 2019 17:03:29 +0000 (18:03 +0100)]
Fix T58206: Eevee light energy soft maximum is too low.

6 months agoCleanup: Remove manually missing original author
Antonioya [Fri, 1 Feb 2019 16:20:05 +0000 (17:20 +0100)]
Cleanup: Remove manually missing original author

Name was part of the header GPL text.

6 months agoGP: Cleanup retiming to do in same loop
Antonioya [Fri, 1 Feb 2019 16:14:28 +0000 (17:14 +0100)]
GP: Cleanup retiming to do in same loop

6 months agoFix T61071: GP Cutter / Boxes bug
Antonioya [Fri, 1 Feb 2019 15:50:27 +0000 (16:50 +0100)]
Fix T61071: GP Cutter / Boxes bug

Now when remove points from a cyclic stroke, the last island is joined with first island in order to fill the gap of the cyclic.

This change affects not only to cutter, but to any delete process in cyclic strokes.

6 months agoCleanup: manually remove header text not handled by automation
Campbell Barton [Fri, 1 Feb 2019 14:45:34 +0000 (01:45 +1100)]
Cleanup: manually remove header text not handled by automation

6 months agoCleanup: remove redundant, invalid info from headers
Campbell Barton [Fri, 1 Feb 2019 15:40:00 +0000 (02:40 +1100)]
Cleanup: remove redundant, invalid info from headers

BF-admins agree to remove header information that isn't useful,
to reduce noise.

- BEGIN/END license blocks

  Developers should add non license comments as separate comment blocks.
  No need for separator text.

- Contributors

  This is often invalid, outdated or misleading
  especially when splitting files.

  It's more useful to git-blame to find out who has developed the code.

See P901 for script to perform these edits.

6 months agoCleanup: remove original author
Campbell Barton [Fri, 1 Feb 2019 15:31:22 +0000 (02:31 +1100)]
Cleanup: remove original author

Missed when removing contributors.

6 months agoFix T61043: Blender crashes on VSE zoom / scroll timeline sometimes
Jörg Müller [Fri, 1 Feb 2019 14:58:12 +0000 (15:58 +0100)]
Fix T61043: Blender crashes on VSE zoom / scroll timeline sometimes

6 months agoCleanup: manually remove header text not handled by automation
Campbell Barton [Fri, 1 Feb 2019 14:45:34 +0000 (01:45 +1100)]
Cleanup: manually remove header text not handled by automation

6 months agoWorkaround for missing hair after opening the file
Sergey Sharybin [Fri, 1 Feb 2019 14:38:22 +0000 (15:38 +0100)]
Workaround for missing hair after opening the file

Restore reset on file open, at least for now.

6 months agoFix T60451: Soft body cache not being cleared when it should
Sergey Sharybin [Fri, 1 Feb 2019 13:05:00 +0000 (14:05 +0100)]
Fix T60451: Soft body cache not being cleared when it should

Manual edits to object or its dependencies should reset the
point cache. Added special relations for this now.

6 months agoCleanup: Shuffle arguments in most used order
Sergey Sharybin [Fri, 1 Feb 2019 12:43:14 +0000 (13:43 +0100)]
Cleanup: Shuffle arguments in most used order

Quite often we need to create nodes which defines various
evaluation stages.

6 months agoDepsgraph: Remove placeholder operation
Sergey Sharybin [Fri, 1 Feb 2019 10:01:12 +0000 (11:01 +0100)]
Depsgraph: Remove placeholder operation

6 months agoDepsgraph: Use scene operation code
Sergey Sharybin [Fri, 1 Feb 2019 10:00:37 +0000 (11:00 +0100)]
Depsgraph: Use scene operation code

Hopefully, this is the last one.

6 months agoDepsgraph: Use operation code for file cache update
Sergey Sharybin [Fri, 1 Feb 2019 09:57:39 +0000 (10:57 +0100)]
Depsgraph: Use operation code for file cache update

All done in separate commits, so it's easier to bisect just in case.

6 months agoDepsgraph: Use operation code for armature evaluation
Sergey Sharybin [Fri, 1 Feb 2019 09:56:01 +0000 (10:56 +0100)]
Depsgraph: Use operation code for armature evaluation

6 months agoDepsgraph: Use operation code for dupli-group
Sergey Sharybin [Fri, 1 Feb 2019 09:54:37 +0000 (10:54 +0100)]
Depsgraph: Use operation code for dupli-group

6 months agoDepsgraph: Use operation code for geometry evaluation done
Sergey Sharybin [Fri, 1 Feb 2019 09:42:50 +0000 (10:42 +0100)]
Depsgraph: Use operation code for geometry evaluation done

6 months agoDepsgraph: Use operation code for geometry evaluation
Sergey Sharybin [Fri, 1 Feb 2019 09:39:10 +0000 (10:39 +0100)]
Depsgraph: Use operation code for geometry evaluation

Affects object data datablocks. Similar to previous commit.

Should not have any functional changes, just some sanitization
to make code more clear.

6 months agoDepsgraph: Use operation code for geometry evaluation init
Sergey Sharybin [Fri, 1 Feb 2019 09:37:14 +0000 (10:37 +0100)]
Depsgraph: Use operation code for geometry evaluation init

Makes it more explicit and avoids strings comparisons during build.

6 months agoDepsgraph: More clear name for geometry evaluation
Sergey Sharybin [Fri, 1 Feb 2019 09:30:04 +0000 (10:30 +0100)]
Depsgraph: More clear name for geometry evaluation

For ears it was already how we evaluate modifiers. There is no
need to go more granular than is actually needed. And no need
to use some obscure prefix for operation.

6 months agoCleanup: Space for foreach macro
Sergey Sharybin [Fri, 1 Feb 2019 09:24:12 +0000 (10:24 +0100)]
Cleanup: Space for foreach macro

6 months agoDepsgraph: Add some sanity checks to ensure valid relations
Sergey Sharybin [Fri, 1 Feb 2019 09:22:24 +0000 (10:22 +0100)]
Depsgraph: Add some sanity checks to ensure valid relations

6 months agoCleanup: remove redundant, invalid info from headers
Campbell Barton [Fri, 1 Feb 2019 14:36:28 +0000 (01:36 +1100)]
Cleanup: remove redundant, invalid info from headers

BF-admins agree to remove header information that isn't useful,
to reduce noise.

- BEGIN/END license blocks

  Developers should add non license comments as separate comment blocks.
  No need for separator text.

- Contributors

  This is often invalid, outdated or misleading
  especially when splitting files.

  It's more useful to git-blame to find out who has developed the code.

See P901 for script to perform these edits.

6 months agoUpdate submodule hashes, take 2
Sergey Sharybin [Fri, 1 Feb 2019 14:15:37 +0000 (15:15 +0100)]
Update submodule hashes, take 2

6 months agoEnsure submodules point to blender2.7 hashes
Sergey Sharybin [Fri, 1 Feb 2019 13:51:15 +0000 (14:51 +0100)]
Ensure submodules point to blender2.7 hashes

6 months agoFix T61088: Cycles particle viewport render stuck in loop.
Brecht Van Lommel [Fri, 1 Feb 2019 12:56:13 +0000 (13:56 +0100)]
Fix T61088: Cycles particle viewport render stuck in loop.

Object to be instanced should not be modified.

6 months ago'make links': rename group -> collection in enum in UI
Philipp Oeser [Fri, 1 Feb 2019 09:44:41 +0000 (10:44 +0100)]
'make links': rename group -> collection in enum in UI

also rename dupli -> instance

Fixes T61086

Reviewers: billreynish

Maniphest Tasks: T61086

Differential Revision:

6 months agoWM: disable undo operators in background mode & at startup
Campbell Barton [Fri, 1 Feb 2019 03:05:33 +0000 (14:05 +1100)]
WM: disable undo operators in background mode & at startup

Show an error instead of crashing, see: T60934

6 months agoLogging: Use CLOG for blenkernel
Campbell Barton [Fri, 1 Feb 2019 01:44:19 +0000 (12:44 +1100)]
Logging: Use CLOG for blenkernel

Part of D4277 by @sobakasu

6 months agoCleanup: correct doxy headers
Campbell Barton [Thu, 31 Jan 2019 21:41:35 +0000 (08:41 +1100)]
Cleanup: correct doxy headers

6 months agoFix build errors on Visual Studio after recent changes.
Brecht Van Lommel [Thu, 31 Jan 2019 18:57:47 +0000 (19:57 +0100)]
Fix build errors on Visual Studio after recent changes.

SYNCHRONIZE is a Windows macro.

6 months agoUI: rename Free Bake to Delete Bake.
Brecht Van Lommel [Thu, 31 Jan 2019 18:49:47 +0000 (19:49 +0100)]
UI: rename Free Bake to Delete Bake.

"Free" is more of a programming term related to memory allocation, not a term
we need to use in the interface. Ref T61054.

6 months agoFix T61065: missing shader update when adding texture slot.
Brecht Van Lommel [Thu, 31 Jan 2019 18:31:43 +0000 (19:31 +0100)]
Fix T61065: missing shader update when adding texture slot.

6 months agoFix T60973: crash baking objects disabled for rendering.
Brecht Van Lommel [Thu, 31 Jan 2019 17:09:36 +0000 (18:09 +0100)]
Fix T60973: crash baking objects disabled for rendering.

6 months agoFix T61072: missing viewport update when setting render border in image editor.
Brecht Van Lommel [Thu, 31 Jan 2019 17:00:46 +0000 (18:00 +0100)]
Fix T61072: missing viewport update when setting render border in image editor.

6 months agoFix T61013: changing top/status bar editor type can be changed with shortcut.
Brecht Van Lommel [Thu, 31 Jan 2019 15:55:04 +0000 (16:55 +0100)]
Fix T61013: changing top/status bar editor type can be changed with shortcut.

6 months agoCleanup: avoid some unnecessary inverse matrix math.
Brecht Van Lommel [Thu, 31 Jan 2019 11:36:00 +0000 (12:36 +0100)]
Cleanup: avoid some unnecessary inverse matrix math.

6 months agoFix wrong sculpt constant detail description.
Brecht Van Lommel [Thu, 31 Jan 2019 14:55:33 +0000 (15:55 +0100)]
Fix wrong sculpt constant detail description.

6 months agoFix T60836: Stretch to flickers when vertex group is used
Sergey Sharybin [Thu, 31 Jan 2019 16:57:01 +0000 (17:57 +0100)]
Fix T60836: Stretch to flickers when vertex group is used

Missing relation to object transform. Needed to convert vertex
position from local target object space to a local space of the

6 months agoFix T61046: Object with cloth jumps around
Sergey Sharybin [Thu, 31 Jan 2019 16:38:01 +0000 (17:38 +0100)]
Fix T61046: Object with cloth jumps around

Was happening due to missing relation from geometry to
transform component. Did not happen in old dependency
graph because that one could never evaluate geometry
prior to transform.

6 months agoFix T61061: Scopes in image editor are not updating
Sergey Sharybin [Thu, 31 Jan 2019 16:15:24 +0000 (17:15 +0100)]
Fix T61061: Scopes in image editor are not updating

Scopes were moved to properties area, so need to adjust
the optimization part of tagging.

Ideally, tagging will always happen (and happen for free)
and then drawing code will update scopes when they are
actually displayed. But this is outside of the scope of
this fix since requires some design changes.

6 months agoFix T59339: Particle render without baking issues
Sergey Sharybin [Thu, 31 Jan 2019 15:53:19 +0000 (16:53 +0100)]
Fix T59339: Particle render without baking issues

The issue was caused by dependency graph resetting particles
when evaluating copy-on-write version of object. Solved by
only doing reset from dependency graph on user edits.

Other issue was caused by modifier itself trying to compare
topology and reset particles when number of vertices or faces
changed. This isn't reliable, since topology might change even
with same number of elements. But also, since copy-on-written
object initially always have those fields zero-ed the reset
was happening on every F12.

The latter issue is solved by moving reset from modifier stack
to places where we exit edit/paint modes which might be changing

There is still weird issue of particles generated at some
weird location after tapping tab twice, but this is not a new
issue in 2.8 branch and is to be looked separately.

6 months agoParticles: Fixes for synchronization to original
Sergey Sharybin [Thu, 31 Jan 2019 13:57:58 +0000 (14:57 +0100)]
Particles: Fixes for synchronization to original

Was missing synchronization of current frame to the original one,
which is one of the issues why point cache does not properly reset
on edits.

Also clear recalc flag on original particle system.

Ideally we need to get rid of recalc on a particle system, since
that is not really covered by tagging system of dependency graph.

6 months agoRemove direct shape key drivers evaluaiton in object update
Sergey Sharybin [Thu, 31 Jan 2019 12:02:09 +0000 (13:02 +0100)]
Remove direct shape key drivers evaluaiton in object update

This is now hanbdled by the nodes in dependency graph.

6 months agoDepsgraph: Comb code to a better state all over
Sergey Sharybin [Thu, 31 Jan 2019 11:56:40 +0000 (12:56 +0100)]
Depsgraph: Comb code to a better state all over

Some summary of changes:

- Don't use DEG prefix for types and enumerator values:
  the code is already inside DEG namespace.

- Put code where it locally belongs to: avoid having one
  single header file with all sort of definitions in it.

- Take advantage of modern C++11 enabled by default.

6 months agoAdd C++ guards to some blenlib headers
Sergey Sharybin [Thu, 31 Jan 2019 13:22:46 +0000 (14:22 +0100)]
Add C++ guards to some blenlib headers

6 months agoFix T61030: Drivers for shape keys not evaluated in correct order
Sergey Sharybin [Thu, 31 Jan 2019 09:40:38 +0000 (10:40 +0100)]
Fix T61030: Drivers for shape keys not evaluated in correct order

Was happening when value of one shape key was driving property of
another shape key of same datablock.

Solved by making shape key blocks properties more granular.

6 months agoDepsgraph: Specify whether RNA path to be resolved as entry or exit
Sergey Sharybin [Thu, 31 Jan 2019 09:18:39 +0000 (10:18 +0100)]
Depsgraph: Specify whether RNA path to be resolved as entry or exit

Makes it more explicit whether RNA property is used as a source
dependency for something else, or whether some other dependency
is being hooked up to evaluate that property.

6 months agoCleanup: Spelling in comment
Sergey Sharybin [Thu, 31 Jan 2019 08:59:05 +0000 (09:59 +0100)]
Cleanup: Spelling in comment

6 months agoDepsgraph: Use more correct update source for an internal tags
Sergey Sharybin [Wed, 30 Jan 2019 10:23:44 +0000 (11:23 +0100)]
Depsgraph: Use more correct update source for an internal tags

Dependency graph will poke some IDs for recalc after finishing building.
Those shouldn't be considered as a user edit.

6 months agoDepsgraph: Use more clear name for enumerator
Sergey Sharybin [Wed, 30 Jan 2019 10:21:34 +0000 (11:21 +0100)]
Depsgraph: Use more clear name for enumerator

Matches enumerator items and type name.

6 months agoFix T61032: Switching to sculpt tab causes undo to set object mode
Campbell Barton [Thu, 31 Jan 2019 11:55:29 +0000 (22:55 +1100)]
Fix T61032: Switching to sculpt tab causes undo to set object mode

Workspace switching changed modes w/o the 3D view,
causing sculpt undo's poll function to fail.

Applied the same logic for texture paint too.

6 months agoFix T60996: Dyntopo flood fill fails due to missing ob->imat
Jacques Lucke [Thu, 31 Jan 2019 11:42:51 +0000 (12:42 +0100)]
Fix T60996: Dyntopo flood fill fails due to missing ob->imat

Reviewers: brecht

Differential Revision:

6 months agoFix: allow curve of driver to be evaluated individually
Jacques Lucke [Thu, 31 Jan 2019 11:17:43 +0000 (12:17 +0100)]
Fix: allow curve of driver to be evaluated individually

This is necessary when adding a new keyframe to a fcurve
that also has a driver.

Reviewers: brecht, campbellbarton

Differential Revision:

6 months agoFix T59495, T59992, T59904, T59178, T60598: broken keyframed value editing.
Brecht Van Lommel [Tue, 29 Jan 2019 10:59:17 +0000 (11:59 +0100)]
Fix T59495, T59992, T59904, T59178, T60598: broken keyframed value editing.

This removes a bunch of animation/driver evaluations and recalc flags that
should be redundant in the new depsgraph, and were incorrectly affecting
the evaluated scene in a permanent way.

Still two cases that could be removed if the depsgraph is improved, in
BKE_object_handle_data_update and BKE_cachefile_update_frame.

For physics subframe interpolation there are also still calls to
BKE_object_where_is_calc that should ideally be removed as well, though
they are not known to cause keyframing bugs.

Differential Revision:

6 months agoDepsgraph: remove features incompatible with new system.
Brecht Van Lommel [Mon, 28 Jan 2019 16:52:46 +0000 (17:52 +0100)]
Depsgraph: remove features incompatible with new system.

Some features are incompatible with multithreading and reliable evaluation
of dependencies. We are now removing them as part of a bigger cleanup to
fix bugs in keyframing and invalid animation evaluations.

* Dupliframes have been removed. This was a hack added before there were
  more powerful features like the array modifier.
* Slow parent has been removed, never worked in 2.8. It was always
  unreliable for use in production due to depending on whatever frame was
  previously evaluated, which was not always the previous frame.
* Particle instanced objects used to have their transform evaluated at
  the particle time. Now it always gets the current time transform.
* Boids can no longer do predictive avoidance of force field objects,
  but still for other particles.

Differential Revision:

6 months agoFix T60432: Blender crashes when dragging objects from other scene from outliner.
Bastien Montagne [Thu, 31 Jan 2019 10:02:51 +0000 (11:02 +0100)]
Fix T60432: Blender crashes when dragging objects from other scene from outliner.

6 months agoSculpt: disable undo flag for sculpt mask lasso
Campbell Barton [Thu, 31 Jan 2019 07:48:59 +0000 (18:48 +1100)]
Sculpt: disable undo flag for sculpt mask lasso

While this is harmless, it did cause T55399 in the past.

Sculpt adds it's own undo steps, so don't request the operator type
to do it too.

This is consistent with other sculpt operators.

6 months agoFix T59293: Can't assign shortcut to undo history
Campbell Barton [Thu, 31 Jan 2019 06:27:46 +0000 (17:27 +1100)]
Fix T59293: Can't assign shortcut to undo history

6 months agoCleanup: use doxy comments, clarify some text
Campbell Barton [Thu, 31 Jan 2019 05:22:25 +0000 (16:22 +1100)]
Cleanup: use doxy comments, clarify some text

6 months agoFix edit-mesh undo using the current selection
Campbell Barton [Thu, 31 Jan 2019 05:02:23 +0000 (16:02 +1100)]
Fix edit-mesh undo using the current selection

Any meshes selected would be added to the mode when reading undo.

6 months agoCleanup: style, unused variable
Campbell Barton [Thu, 31 Jan 2019 04:54:37 +0000 (15:54 +1100)]
Cleanup: style, unused variable

6 months agoCleanup: remove EM_IGNORE_LAYER
Campbell Barton [Thu, 31 Jan 2019 04:36:24 +0000 (15:36 +1100)]
Cleanup: remove EM_IGNORE_LAYER

Call ED_object_editmode_enter_ex instead.

6 months agoFix T61047: Undo editmesh separate crashes
Campbell Barton [Thu, 31 Jan 2019 04:06:00 +0000 (15:06 +1100)]
Fix T61047: Undo editmesh separate crashes

Favour G_MAIN in functions that might free it.

6 months agoFix image paint undo memory leak
Campbell Barton [Thu, 31 Jan 2019 01:35:12 +0000 (12:35 +1100)]
Fix image paint undo memory leak

6 months agoFix T60660: Texture paint undo removes image
Campbell Barton [Thu, 31 Jan 2019 01:01:38 +0000 (12:01 +1100)]
Fix T60660: Texture paint undo removes image

6 months agoUndo System: add Main argument to encode/decode
Campbell Barton [Thu, 31 Jan 2019 00:34:57 +0000 (11:34 +1100)]
Undo System: add Main argument to encode/decode

Needed since we don't always have the context,
and avoids adding G_MAIN into undo callbacks.

6 months agoFix T61028: Crash when entering wireframe view
Clément Foucault [Thu, 31 Jan 2019 00:33:59 +0000 (01:33 +0100)]
Fix T61028: Crash when entering wireframe view

6 months agoCleanup: add trailing commas
Campbell Barton [Wed, 30 Jan 2019 21:28:56 +0000 (08:28 +1100)]
Cleanup: add trailing commas

Improve clang-format output.

6 months agoFix T60378: All armatures reset positions on linked collection when ctrl+z used on...
Bastien Montagne [Wed, 30 Jan 2019 19:32:28 +0000 (20:32 +0100)]
Fix T60378: All armatures reset positions on linked collection when ctrl+z used on anything.

Issue actually exists since ages, probably 2.7x update system forced all
armature proxies to be fully refreshed after an undo?

In any case, proxy_from should only be reset for 'local' proxies (i.e.
directly linked datablocks), not for linked proxies...

6 months agoMerge branch 'blender2.7'
Brecht Van Lommel [Wed, 30 Jan 2019 17:36:54 +0000 (18:36 +0100)]
Merge branch 'blender2.7'

6 months agoCleanup: use better names for depsgraph driver relations.
Brecht Van Lommel [Wed, 30 Jan 2019 12:31:44 +0000 (13:31 +0100)]
Cleanup: use better names for depsgraph driver relations.

Both the driven properties and driver targets were called targets, now make
a distinction.

6 months agoGP: Remove DEG_get_original_id() from draw manager
Antonioya [Wed, 30 Jan 2019 15:26:06 +0000 (16:26 +0100)]
GP: Remove DEG_get_original_id() from draw manager

Only keep this function when drawing to avoid COW overhead that reduce performance.

After some changes I did some time ago, the use of original ID was not required and this only added depsgraph overhead and problems.

This change solves the problems with updates in render mode.

Related to T57484 and the changes requested by Sergey.

6 months agoFix T61017: node_shader_utils did not handle diffuse_color correctly
Jacques Lucke [Wed, 30 Jan 2019 13:37:09 +0000 (14:37 +0100)]
Fix T61017: node_shader_utils did not handle diffuse_color correctly

6 months agoFix default material using zero alpha
Campbell Barton [Wed, 30 Jan 2019 12:53:40 +0000 (23:53 +1100)]
Fix default material using zero alpha

6 months agoFix (unreported) memleak when copying object and its material with GP settings.
Bastien Montagne [Wed, 30 Jan 2019 11:00:58 +0000 (12:00 +0100)]
Fix (unreported) memleak when copying object and its material with GP settings.

Like... seriously?

6 months agoFix T60957: ASSERT when reloading double-linked file.
Bastien Montagne [Wed, 30 Jan 2019 10:46:49 +0000 (11:46 +0100)]
Fix T60957: ASSERT when reloading double-linked file.

Kind of funny to see that this has been missing presumably since the
first version of library linking in Blender, and only gets noticed now.
Then again, that was not really a critical issue, iirc write code
ensures all libraries directly used get properly written, even if flags
are incorrect.

6 months agoCleanup: use proper bitflag operators.
Bastien Montagne [Wed, 30 Jan 2019 10:38:13 +0000 (11:38 +0100)]
Cleanup: use proper bitflag operators.

6 months agoCleanup: Unused function argument
Sergey Sharybin [Wed, 30 Jan 2019 10:02:06 +0000 (11:02 +0100)]
Cleanup: Unused function argument

6 months agoCycles: improved rounding of sample chunks for resumable renders
Sybren A. Stüvel [Tue, 29 Jan 2019 17:08:12 +0000 (18:08 +0100)]
Cycles: improved rounding of sample chunks for resumable renders

When using `--cycles-resumable-num-chunks N` to render a subset of the
samples, having N close to the total number of samples causes rounding

For example, a file configured for 250 samples and 150 chunks should
have 1.6666 sample per chunk. The old code rounded this to 2 samples per
chunk, which would result in too many samples being rendered. When
rendering a single chunk this doesn't matter much, but when larger chunk
ranges are rendered with `--cycles-resumable-start-chunk` and
`--cycles-resumable-end-chunk` the rounding errors start to add up.

By multiplying with the number of chunks to render first, and only round
to integers after that, this issue is solved. In the above example,
rendering 3 chunks will correctly render 5 samples rather than 6.

When the requested number of chunks is larger than the number of samples
there will be duplicate samples (that is, sample N appearing both in
chunk M and M+1). In this case a warning is printed to stderr.

This is needed for T50977 Progressive render: use non-uniform sample

Reviewed by: sergey

Differential Revision:

6 months agoFix T60974: Dyntopo crash on undo after object deleted
Campbell Barton [Wed, 30 Jan 2019 09:44:15 +0000 (20:44 +1100)]
Fix T60974: Dyntopo crash on undo after object deleted

Add the ability for undo steps to request memfile undo step added after
them, useful for mode switching, where we need the data to exist for
undo to enter the mode.

6 months agoVersioning: add renaming utility function
Campbell Barton [Tue, 29 Jan 2019 22:36:38 +0000 (09:36 +1100)]
Versioning: add renaming utility function

Avoids accidents creating duplicate names.

Also ensure screens are sorted on rename.

6 months agoCleanup: line length
Campbell Barton [Tue, 29 Jan 2019 22:03:37 +0000 (09:03 +1100)]
Cleanup: line length

6 months agoPartial fix for T60982: Editable anim settings in linked action.
Bastien Montagne [Tue, 29 Jan 2019 20:47:15 +0000 (21:47 +0100)]
Partial fix for T60982: Editable anim settings in linked action.

This is only partially working, because some bAnimListElem items do not
have any ID pointer set (for wome mysterious reason...), notably the
'group' ones.

Will re-assign to @aligorith for that, this code is rather complicated
and hard to follow (with all those macros ;) ).

6 months agoCleanup: typo in comment.
Bastien Montagne [Tue, 29 Jan 2019 20:46:59 +0000 (21:46 +0100)]
Cleanup: typo in comment.

6 months agoWorkbench: Make Material transparency part of the rgba color picker
Clément Foucault [Tue, 29 Jan 2019 19:33:51 +0000 (20:33 +0100)]
Workbench: Make Material transparency part of the rgba color picker

It is only used for solid mode for now but could be used by eevee in the