23 months agoCleanup: remove contributors for CMake files
Campbell Barton [Mon, 4 Feb 2019 22:10:32 +0000 (09:10 +1100)]
Cleanup: remove contributors for CMake files

Following removal from C source code.

See: 8c68ed6df16d8893

23 months agoT61148: Particle properties can not be edited after keyframing
Sergey Sharybin [Mon, 4 Feb 2019 13:06:49 +0000 (14:06 +0100)]
T61148: Particle properties can not be edited after keyframing

Was happening with certain settings for hair. Need to make a copy
of particle settings before modifying them via animation system.

23 months agoPyAPI: use _PyObject_LookupAttr
Campbell Barton [Mon, 4 Feb 2019 12:35:23 +0000 (23:35 +1100)]
PyAPI: use _PyObject_LookupAttr

Unlike PyObject_GetAttr, this avoids setting the attribute error
only to clear it - under some conditions.

23 months agoCleanup: use sys.platform instead of platform module
Campbell Barton [Mon, 4 Feb 2019 12:07:06 +0000 (23:07 +1100)]
Cleanup: use sys.platform instead of platform module

This was indirectly importing other modules we don't use at startup.
`sys.platform` is sufficient.

23 months agoPython: bump minimum version to 3.7
Campbell Barton [Mon, 4 Feb 2019 10:58:34 +0000 (21:58 +1100)]
Python: bump minimum version to 3.7

All platforms use 3.7 now, supporting both increases chance some scripts
will fail on older versions.

23 months agoFix T61172: Crash in texture paint undo/redo
Campbell Barton [Mon, 4 Feb 2019 08:50:46 +0000 (19:50 +1100)]
Fix T61172: Crash in texture paint undo/redo

Mixing texture paint undo w/ memfile undo was crashing.

The gputextures and render result are written to the FileData.imamap
but weren't read back.

23 months agoUndo System: add function to print undo steps
Campbell Barton [Mon, 4 Feb 2019 04:01:55 +0000 (15:01 +1100)]
Undo System: add function to print undo steps

Useful for debugging.

23 months agoFix adding a paint texture slot not refreshing
Campbell Barton [Mon, 4 Feb 2019 03:40:11 +0000 (14:40 +1100)]
Fix adding a paint texture slot not refreshing

Adding a new slot wasn't refreshing when the
object had no material.

23 months agoUI: Use 'None' label instead of 'No' for Physics Type
Pablo Vazquez [Mon, 4 Feb 2019 00:45:53 +0000 (01:45 +0100)]
UI: Use 'None' label instead of 'No' for Physics Type

Matches other enums in particle settings and pretty much all over Blender.

23 months agoCleanup: Typos in comments (to to)
Pablo Vazquez [Mon, 4 Feb 2019 00:23:48 +0000 (01:23 +0100)]
Cleanup: Typos in comments (to to)

23 months agoUI: clarify ruler tooltip text
Campbell Barton [Sun, 3 Feb 2019 23:32:17 +0000 (10:32 +1100)]
UI: clarify ruler tooltip text

See T61151

23 months agoGP: Fix compiler error
Antonioya [Sun, 3 Feb 2019 18:56:57 +0000 (19:56 +0100)]
GP: Fix compiler error

23 months agoT61140 Shortcut Eraser and Eraser are not the same
Antonioya [Sun, 3 Feb 2019 12:27:25 +0000 (13:27 +0100)]
T61140 Shortcut Eraser and Eraser are not the same

Set default eraser with the last eraser used, and remove the toggle button from UI panel.

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

23 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.

23 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.

23 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.

23 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)

23 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

23 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.

23 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

23 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

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

23 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.

23 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...

23 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.

23 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.

23 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.

23 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

23 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.

23 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

23 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.

23 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.

23 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

23 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

23 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.

23 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.

23 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.

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

23 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.

23 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.

23 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

23 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

23 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

23 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.

23 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.

23 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.

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

23 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

23 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.

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

23 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

23 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.

23 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:

23 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

23 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

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

23 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.

23 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.

23 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.

23 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.

23 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.

23 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.

23 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.

23 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.

23 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

23 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.

23 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.

23 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.

23 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.

23 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.

23 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.

23 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

23 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.

23 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.

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

23 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.

23 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.

23 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.

23 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:

23 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:

23 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:

23 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:

23 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.

23 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.

23 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

23 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

23 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.

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

23 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.

23 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.

23 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

23 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

23 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.

23 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

23 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.

23 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...

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

23 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.

23 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.