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
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.
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.
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.
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.
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.
Campbell Barton [Mon, 4 Feb 2019 04:01:55 +0000 (15:01 +1100)]
Undo System: add function to print undo steps
Useful for debugging.
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.
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.
Pablo Vazquez [Mon, 4 Feb 2019 00:23:48 +0000 (01:23 +0100)]
Cleanup: Typos in comments (to to)
Campbell Barton [Sun, 3 Feb 2019 23:32:17 +0000 (10:32 +1100)]
UI: clarify ruler tooltip text
See T61151
Antonioya [Sun, 3 Feb 2019 18:56:57 +0000 (19:56 +0100)]
GP: Fix compiler error
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.
Joshua Leung [Thu, 31 Jan 2019 04:31:51 +0000 (17:31 +1300)]
Fix typos
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.
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.
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 `bpy.app.use_event_simulate`
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.
Campbell Barton [Sat, 2 Feb 2019 03:45:42 +0000 (14:45 +1100)]
BKE_global: clear deprecated flags on load (all of them)
Campbell Barton [Sat, 2 Feb 2019 03:01:48 +0000 (14:01 +1100)]
Cleanup: match logic for merging G.f & G.fileflags on load
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.
Campbell Barton [Sat, 2 Feb 2019 02:29:52 +0000 (13:29 +1100)]
Cleanup: use enum for BKE globals
Campbell Barton [Sat, 2 Feb 2019 00:53:07 +0000 (11:53 +1100)]
Cleanup: remove author/date info from doxy headers
Campbell Barton [Fri, 1 Feb 2019 22:37:50 +0000 (09:37 +1100)]
Merge branch 'blender2.7'
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.
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...
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.
Brecht Van Lommel [Fri, 1 Feb 2019 17:03:29 +0000 (18:03 +0100)]
Fix T58206: Eevee light energy soft maximum is too low.
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.
Antonioya [Fri, 1 Feb 2019 16:14:28 +0000 (17:14 +0100)]
GP: Cleanup retiming to do in same loop
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.
Campbell Barton [Fri, 1 Feb 2019 14:45:34 +0000 (01:45 +1100)]
Cleanup: manually remove header text not handled by automation
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.
Campbell Barton [Fri, 1 Feb 2019 15:31:22 +0000 (02:31 +1100)]
Cleanup: remove original author
Missed when removing contributors.
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
Campbell Barton [Fri, 1 Feb 2019 14:45:34 +0000 (01:45 +1100)]
Cleanup: manually remove header text not handled by automation
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.
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.
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.
Sergey Sharybin [Fri, 1 Feb 2019 10:01:12 +0000 (11:01 +0100)]
Depsgraph: Remove placeholder operation
Sergey Sharybin [Fri, 1 Feb 2019 10:00:37 +0000 (11:00 +0100)]
Depsgraph: Use scene operation code
Hopefully, this is the last one.
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.
Sergey Sharybin [Fri, 1 Feb 2019 09:56:01 +0000 (10:56 +0100)]
Depsgraph: Use operation code for armature evaluation
Sergey Sharybin [Fri, 1 Feb 2019 09:54:37 +0000 (10:54 +0100)]
Depsgraph: Use operation code for dupli-group
Sergey Sharybin [Fri, 1 Feb 2019 09:42:50 +0000 (10:42 +0100)]
Depsgraph: Use operation code for geometry evaluation done
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.
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.
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.
Sergey Sharybin [Fri, 1 Feb 2019 09:24:12 +0000 (10:24 +0100)]
Cleanup: Space for foreach macro
Sergey Sharybin [Fri, 1 Feb 2019 09:22:24 +0000 (10:22 +0100)]
Depsgraph: Add some sanity checks to ensure valid relations
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.
Sergey Sharybin [Fri, 1 Feb 2019 14:15:37 +0000 (15:15 +0100)]
Update submodule hashes, take 2
Sergey Sharybin [Fri, 1 Feb 2019 13:51:15 +0000 (14:51 +0100)]
Ensure submodules point to blender2.7 hashes
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.
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: https://developer.blender.org/D4294
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
Campbell Barton [Fri, 1 Feb 2019 01:44:19 +0000 (12:44 +1100)]
Logging: Use CLOG for blenkernel
Part of D4277 by @sobakasu
Campbell Barton [Thu, 31 Jan 2019 21:41:35 +0000 (08:41 +1100)]
Cleanup: correct doxy headers
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.
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.
Brecht Van Lommel [Thu, 31 Jan 2019 18:31:43 +0000 (19:31 +0100)]
Fix T61065: missing shader update when adding texture slot.
Brecht Van Lommel [Thu, 31 Jan 2019 17:09:36 +0000 (18:09 +0100)]
Fix T60973: crash baking objects disabled for rendering.
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.
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.
Brecht Van Lommel [Thu, 31 Jan 2019 11:36:00 +0000 (12:36 +0100)]
Cleanup: avoid some unnecessary inverse matrix math.
Brecht Van Lommel [Thu, 31 Jan 2019 14:55:33 +0000 (15:55 +0100)]
Fix wrong sculpt constant detail description.
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
bone.
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.
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.
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
topology.
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.
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.
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.
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.
Sergey Sharybin [Thu, 31 Jan 2019 13:22:46 +0000 (14:22 +0100)]
Add C++ guards to some blenlib headers
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.
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.
Sergey Sharybin [Thu, 31 Jan 2019 08:59:05 +0000 (09:59 +0100)]
Cleanup: Spelling in comment
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.
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.
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.
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: https://developer.blender.org/D4285
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: https://developer.blender.org/D4278
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: https://developer.blender.org/D4274
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: https://developer.blender.org/D4274
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.
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.
Campbell Barton [Thu, 31 Jan 2019 06:27:46 +0000 (17:27 +1100)]
Fix T59293: Can't assign shortcut to undo history
Campbell Barton [Thu, 31 Jan 2019 05:22:25 +0000 (16:22 +1100)]
Cleanup: use doxy comments, clarify some text
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.
Campbell Barton [Thu, 31 Jan 2019 04:54:37 +0000 (15:54 +1100)]
Cleanup: style, unused variable
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.
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.
Campbell Barton [Thu, 31 Jan 2019 01:35:12 +0000 (12:35 +1100)]
Fix image paint undo memory leak
Campbell Barton [Thu, 31 Jan 2019 01:01:38 +0000 (12:01 +1100)]
Fix T60660: Texture paint undo removes image
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.
Clément Foucault [Thu, 31 Jan 2019 00:33:59 +0000 (01:33 +0100)]
Fix T61028: Crash when entering wireframe view
Campbell Barton [Wed, 30 Jan 2019 21:28:56 +0000 (08:28 +1100)]
Cleanup: add trailing commas
Improve clang-format output.
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...
Brecht Van Lommel [Wed, 30 Jan 2019 17:36:54 +0000 (18:36 +0100)]
Merge branch 'blender2.7'
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.
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.