20 months agoFix T58610: EEVEE: camera motion blur renders only one viewport sample
Clément Foucault [Thu, 14 Mar 2019 15:51:34 +0000 (16:51 +0100)]
Fix T58610: EEVEE: camera motion blur renders only one viewport sample

This fix saves the camera matrices in order to not call
BKE_animsys_evaluate_animdata during each draw loop. This function tags
the view as dirty even if the camera does not move.
This effectivly, avoids the constant reset of TAA.

20 months agoFix T58694 Eevee: Wrong result when using normal map and face is flipped
Clément Foucault [Wed, 13 Mar 2019 22:42:38 +0000 (23:42 +0100)]
Fix T58694 Eevee: Wrong result when using normal map and face is flipped

20 months agoFix T62551: Limited Hair editing (no grab, scale, rotate)
Sergey Sharybin [Thu, 14 Mar 2019 14:53:52 +0000 (15:53 +0100)]
Fix T62551: Limited Hair editing (no grab, scale, rotate)

This is actually re-introduced T59963 which got broken by 6752022310b.
Use less obscure recalc flag now.

20 months agoFix T61300: First letter truncated
Jacques Lucke [Thu, 14 Mar 2019 14:44:07 +0000 (15:44 +0100)]
Fix T61300: First letter truncated

The main problem was that the character `J` has "negative kerning".
It was cut off because it started outside of the clipping rectangle.

Reviewers: brecht

Differential Revision:

20 months agoFix T62321: Crash on motion tracking when dopesheet open and deleting track
Sergey Sharybin [Thu, 14 Mar 2019 14:16:56 +0000 (15:16 +0100)]
Fix T62321: Crash on motion tracking when dopesheet open and deleting track

Need to ensure all dopesheet are properly tagged for update.

The tricky part here is that due to the animation we need to keep
movie clips covered by copy-on-write, but the interface uses an
original clip to draw dopesheet.

Use same idea of an active dependency graph as is done in other
similar cases.

20 months agoGPencil: Change Brush defaults for Block and Marker
Antonioya [Thu, 14 Mar 2019 13:03:04 +0000 (14:03 +0100)]
GPencil: Change Brush defaults for Block and Marker

Still pending the change in default 2D template.

Changes reviewed by @pepeland and @mendio

20 months agoFix some unreported issues with image sequence updates, clean code.
Brecht Van Lommel [Thu, 14 Mar 2019 11:40:15 +0000 (12:40 +0100)]
Fix some unreported issues with image sequence updates, clean code.

Lamp and world nodes were missing, nested node trees were updated twice,
remove some legacy code.

20 months agoFix T61937: image sequences not updating in workbench display mode.
Brecht Van Lommel [Thu, 14 Mar 2019 11:37:51 +0000 (12:37 +0100)]
Fix T61937: image sequences not updating in workbench display mode.

Need to pass the image user along to get the frame number.

20 months agoMerge branch 'blender2.7' of
Stefan Werner [Thu, 14 Mar 2019 10:47:27 +0000 (11:47 +0100)]
Merge branch 'blender2.7' of

20 months agoCycles: Improved thread order for better CUDA performance.
Stefan Werner [Thu, 14 Mar 2019 10:45:58 +0000 (11:45 +0100)]
Cycles: Improved thread order for better CUDA performance.

This patch puts threads that render the same pixel closer together,
as opposed to threads that render the same sample. Thus threads
within a warp are more coherent in memory access and control flow,
leading to performance improvements.

Example benchmarks on a Quadro RTX4000 (WDDM) on Windows 10:
Koro:                 4:23 ->  3:46
BMW:                  1:18 ->  1:25
Barbershop Interior: 17:52 -> 14:55
Classroom:            4:37 ->  3:45

Performance differences on OpenCL/AMD were hit and miss, some scenes
became faster, others lost significantly. Therefore, this is kept as
CUDA only change for now.

20 months agoFix T62528: data transfer modifier error.
Bastien Montagne [Thu, 14 Mar 2019 08:46:46 +0000 (09:46 +0100)]
Fix T62528: data transfer modifier error.

Stupid mistake in previous 'fixing' commit, I put the call computing
extra required source cddata masks into the callback used to get
destination (current object) cddata masks...

20 months agoMerge branch 'blender2.7'
Jeroen Bakker [Thu, 14 Mar 2019 08:31:20 +0000 (09:31 +0100)]
Merge branch 'blender2.7'

20 months agoFix T62145: Geometry.Backface Node Renders Black
Jeroen Bakker [Thu, 14 Mar 2019 08:20:11 +0000 (09:20 +0100)]
Fix T62145: Geometry.Backface Node Renders Black

The NODE_GROUP_LEVEL of the Geometry node should be bumped to 1
when Backface is connected. Backface uses `NODE_LIGHT_PATH` that
is part of NODE_GROUP_LEVEL1, the rest of the geometry ndoe is

20 months agoFix separators use within tool groups
Campbell Barton [Thu, 14 Mar 2019 06:27:22 +0000 (17:27 +1100)]
Fix separators use within tool groups

20 months agoKeymap: tweak keymap loading type checks
Campbell Barton [Thu, 14 Mar 2019 04:53:48 +0000 (15:53 +1100)]
Keymap: tweak keymap loading type checks

For full keymaps, ensure keymap items are lists to allow predictable
manipulation at runtime.

When calling `keymap_init_from_data` directly, allow any sequence type
to allow tools to define their keymaps as tuples.

20 months agoCleanup: unused imports
Campbell Barton [Thu, 14 Mar 2019 04:14:43 +0000 (15:14 +1100)]
Cleanup: unused imports

20 months agoKeymap: remove select linked deselect
Campbell Barton [Thu, 14 Mar 2019 04:33:24 +0000 (15:33 +1100)]
Keymap: remove select linked deselect

This didn't do anything useful (always de-selected all).

20 months agoCleanup: match WorkSpace and WorkSpaceTool capitalization
Campbell Barton [Thu, 14 Mar 2019 03:36:36 +0000 (14:36 +1100)]
Cleanup: match WorkSpace and WorkSpaceTool capitalization

20 months agoCleanup: remove redundant UV select linked options
Campbell Barton [Thu, 14 Mar 2019 03:09:24 +0000 (14:09 +1100)]
Cleanup: remove redundant UV select linked options

20 months agoCleanup: doxy sections
Campbell Barton [Thu, 14 Mar 2019 02:36:48 +0000 (13:36 +1100)]
Cleanup: doxy sections

20 months agoUI: disallow splitting of temporary screens
Campbell Barton [Thu, 14 Mar 2019 00:12:52 +0000 (11:12 +1100)]
UI: disallow splitting of temporary screens

D4510 by @harley

20 months agoCleanup: style
Campbell Barton [Thu, 14 Mar 2019 00:08:48 +0000 (11:08 +1100)]
Cleanup: style

20 months agoFix "Follow Active Quad" poll function
Campbell Barton [Wed, 13 Mar 2019 23:56:25 +0000 (10:56 +1100)]
Fix "Follow Active Quad" poll function

Since this uses the active face this only makes sense in edit-mode.

20 months agoFix T60172: UV smart project fails for unselected active object
Campbell Barton [Wed, 13 Mar 2019 23:47:25 +0000 (10:47 +1100)]
Fix T60172: UV smart project fails for unselected active object

Support multi-object edit-mode too.

20 months agoFix T62526: Can't scroll redo panel
Campbell Barton [Wed, 13 Mar 2019 22:58:20 +0000 (09:58 +1100)]
Fix T62526: Can't scroll redo panel

20 months agoComments: correct ARegion.sizex/y comment
Campbell Barton [Wed, 13 Mar 2019 22:50:47 +0000 (09:50 +1100)]
Comments: correct ARegion.sizex/y comment

Also remove unused 'fsize'

20 months agoEevee: Fix black mesh when tangent is not present
Clément Foucault [Wed, 13 Mar 2019 22:13:58 +0000 (23:13 +0100)]
Eevee: Fix black mesh when tangent is not present

In this case, the generic vertex attribute is {0,0,0,1}. So we look for
this case.

This fixes black text objects with a normal map applied. Also this could
help porting sculpt mode drawing to Eevee without supporting normal

Note that will just fix black meshes due to T61870 but objects will not
show their normal map. So it's not a fix for this issue.

20 months agoFix T60170: Eevee: smoke color does not apply permanently
Clément Foucault [Wed, 13 Mar 2019 21:35:54 +0000 (22:35 +0100)]
Fix T60170: Eevee: smoke color does not apply permanently

This was because color is not present in the density texture if there is
only one constant color. Adding it as a uniform.

20 months agoFix T59445: top bar hides everything when there isn't enough space.
Brecht Van Lommel [Wed, 13 Mar 2019 19:13:09 +0000 (20:13 +0100)]
Fix T59445: top bar hides everything when there isn't enough space.

Left and right aligned regions get hidden when there is not enough space,
and the main center region was empty. Now remove the left region and put
its contents in the center region, so that it always remains.

20 months agoMerge branch 'blender2.7'
Brecht Van Lommel [Wed, 13 Mar 2019 17:37:09 +0000 (18:37 +0100)]
Merge branch 'blender2.7'

20 months agoFix T62156: Hair particle only shows up in final render when visible in viewport
Sergey Sharybin [Wed, 13 Mar 2019 17:04:40 +0000 (18:04 +0100)]
Fix T62156: Hair particle only shows up in final render when visible in viewport

Draw manager was checking for particles being enabled in viewport, but
actual evaluation was happening for render. Now the check in draw manager
properly follows current evaluation mode.

Additionally, de-duplicated some check, by moving everything needed to
a single place.

Annoying part is the const-cast, that could be cleaned up later by
modifying some underlying functions.

20 months agoBuild environment: require Alsa/OSS/PulseAudio backends for OpenAL on Linux.
Brecht Van Lommel [Wed, 13 Mar 2019 12:00:03 +0000 (13:00 +0100)]
Build environment: require Alsa/OSS/PulseAudio backends for OpenAL on Linux.

Otherwise we can silently build an OpenAL that can't actually playback audio.

20 months agoFix T60434: crash with OSL and viewport + preview render at the same time.
Brecht Van Lommel [Wed, 13 Mar 2019 17:26:11 +0000 (18:26 +0100)]
Fix T60434: crash with OSL and viewport + preview render at the same time.

Don't free LLVM JIT memory until process exit, there might be multiple OSL
instances using it.

20 months agoBuild environment: backport master changes to blender2.7.
Brecht Van Lommel [Wed, 13 Mar 2019 17:30:42 +0000 (18:30 +0100)]
Build environment: backport master changes to blender2.7.

We can keep these in sync for now.

20 months agoGPencil: Cleanup code
Antonioya [Wed, 13 Mar 2019 16:42:29 +0000 (17:42 +0100)]
GPencil: Cleanup code

20 months agoFix T62521: Fake dependency cycle with spline IK
Sergey Sharybin [Wed, 13 Mar 2019 15:57:27 +0000 (16:57 +0100)]
Fix T62521: Fake dependency cycle with spline IK

The core was hooking up relation to a wrong operation, in an
attempt to cause proper full update of the pose (since there
is no intermediate state stored anywhere). This is now done
as a part of flush_handle_component_node(), so can properly
route more granular relation.

This fixes the crash which was caused by an access of partially
evaluated data by solving the fake cycle. However, if there
is a real cycle involved the code will still not survive, but
this is more generic issue (which also includes modifiers
for meshes and curves).

Reviewers: brecht

Reviewed By: brecht

Differential Revision:

20 months agoT62446: Mouse cursor disappears on Grease Pencil stroke
Antonioya [Wed, 13 Mar 2019 16:13:37 +0000 (17:13 +0100)]
T62446: Mouse cursor disappears on Grease Pencil stroke

Before the cursor was only visible after the cursor moves over side areas, but not in viewport area.

Now, as soon the drawing is completed, the cursor is reset in order to get again the icon in the viewport.

20 months agoUI: New option to display factors as percentages
Jacques Lucke [Wed, 13 Mar 2019 15:58:00 +0000 (16:58 +0100)]
UI: New option to display factors as percentages

The option can be changed in the Preferences
in `Interface -> Editors -> Factor Display Type`.

Reviewers: campbellbarton, brecht, billreynish

Differential Revision:

20 months agoFix T58668: Misaligned text when editing multiple values
Jacques Lucke [Wed, 13 Mar 2019 15:26:34 +0000 (16:26 +0100)]
Fix T58668: Misaligned text when editing multiple values

Reviewers: brecht

Differential Revision:

20 months agoFix T59448: Eevee broken Area Light shadows for square and rectange shape
Clément Foucault [Wed, 13 Mar 2019 15:06:23 +0000 (16:06 +0100)]
Fix T59448: Eevee broken Area Light shadows for square and rectange shape

20 months agoFix T58721: Keyframing one transform option reset other transforms
Sergey Sharybin [Wed, 13 Mar 2019 14:38:45 +0000 (15:38 +0100)]
Fix T58721: Keyframing one transform option reset other transforms

Use dedicated flag to tag animation just for copy-on-write synchronization,
which makes it so copies of the original data blocks gets in sync with the
original ID. This will not flush the animation update to all objects which
depend on that animation.

If such flush is required, use ID_RECALC_ANIMATION.

Reviewers: brecht

Reviewed By: brecht

Differential Revision:

20 months agoCurves: change default fill mode to full, increase bevel resolution.
Alex Strand [Wed, 13 Mar 2019 14:03:07 +0000 (15:03 +0100)]
Curves: change default fill mode to full, increase bevel resolution.

Ref D4438.

20 months agoFix T60185: Crash on adding Inverse Kinematics
Jose C. Rubio [Wed, 13 Mar 2019 14:13:52 +0000 (15:13 +0100)]
Fix T60185: Crash on adding Inverse Kinematics

When having loops in a kinematic chain and also a IK constrain,
the solve_cycle function removes graph relations necessary to ensure
the cleanup operation was running at the very end.

Due to his Blender was crashing when some operations (the bone
constraints) accessed a pointer that was already freed.

Solved by adding more relations between crucial nodes.

20 months agoUI: put Armature constraint in alphabetical order in the menu.
Adrian Newton [Wed, 13 Mar 2019 13:44:56 +0000 (14:44 +0100)]
UI: put Armature constraint in alphabetical order in the menu.

Differential Revision:

20 months agoFix use of uninitialized variable in undo system.
Brecht Van Lommel [Wed, 13 Mar 2019 12:47:47 +0000 (13:47 +0100)]
Fix use of uninitialized variable in undo system.

20 months agoWM: pre-fill bug-reports
Campbell Barton [Wed, 13 Mar 2019 12:02:51 +0000 (23:02 +1100)]
WM: pre-fill bug-reports

D4507 by @LazyDodo w/ edits & moved into own module.

20 months agoBuild environment: require Alsa/OSS/PulseAudio backends for OpenAL on Linux.
Brecht Van Lommel [Wed, 13 Mar 2019 12:00:03 +0000 (13:00 +0100)]
Build environment: require Alsa/OSS/PulseAudio backends for OpenAL on Linux.

Otherwise we can silently build an OpenAL that can't actually playback audio.

20 months agoFix T57305: NDOF frozen w/ lock view to camera
Campbell Barton [Wed, 13 Mar 2019 11:18:22 +0000 (22:18 +1100)]
Fix T57305: NDOF frozen w/ lock view to camera

This effectively reverts 030297209f2508a and 785e8a636a2939,
which caused this issue.

20 months agoBMesh: make edge winding from face optional
Campbell Barton [Wed, 13 Mar 2019 08:55:18 +0000 (19:55 +1100)]
BMesh: make edge winding from face optional

Broke uv-sphere creation, further it might be a problem
for script authors expecting matching edge order for duplicated content.

Now only apply this when duplicating via the operator.

20 months agoFix Cycles interface after 3017d88aec7f
Sergey Sharybin [Wed, 13 Mar 2019 08:53:07 +0000 (09:53 +0100)]
Fix Cycles interface after 3017d88aec7f

20 months agoFix T62487: Flipped normals extruding edge loop
Campbell Barton [Wed, 13 Mar 2019 08:19:41 +0000 (19:19 +1100)]
Fix T62487: Flipped normals extruding edge loop

20 months agoBMesh: utility function to swap edge verts
Campbell Barton [Wed, 13 Mar 2019 08:11:43 +0000 (19:11 +1100)]
BMesh: utility function to swap edge verts

Needed so we can control the winding of extruded faces.

20 months agoFix T62484: Mesh undo ignores selection mode
Campbell Barton [Wed, 13 Mar 2019 06:37:43 +0000 (17:37 +1100)]
Fix T62484: Mesh undo ignores selection mode

20 months agoFix T62524: Popover w/ keep-open moves on cursor motion
Campbell Barton [Wed, 13 Mar 2019 05:40:30 +0000 (16:40 +1100)]
Fix T62524: Popover w/ keep-open moves on cursor motion

20 months agoCleanup: rename,my to bounds_offset
Campbell Barton [Wed, 13 Mar 2019 05:35:24 +0000 (16:35 +1100)]
Cleanup: rename,my to bounds_offset

Use a name that related to block bounds calculation
(mx/my are typically used for mouse x,y).

20 months agoCleanup: use unpacking & generators to build classes
Campbell Barton [Wed, 13 Mar 2019 02:03:54 +0000 (13:03 +1100)]
Cleanup: use unpacking & generators to build classes

No reason to make a classes tuple then manipulate it when
everything can be declared inline.

20 months agoUI: avoid sub-classing mix-ins for user-prefs
Campbell Barton [Wed, 13 Mar 2019 02:24:46 +0000 (13:24 +1100)]
UI: avoid sub-classing mix-ins for user-prefs

Also remove redundant staticmethod use.

20 months agoUI: rename PresetMenu to PresetPanel, move to bl_ui.utils
Campbell Barton [Wed, 13 Mar 2019 01:41:22 +0000 (12:41 +1100)]
UI: rename PresetMenu to PresetPanel, move to bl_ui.utils

Confusing to call a menu a panel when subclasses need to define
panel specific variables.

Avoid having bl_ui depend on bl_operator module too.
Since this isn't an operator, add utils modules for shared types.

20 months agoUI: tweak check for sequence length
Campbell Barton [Wed, 13 Mar 2019 02:12:57 +0000 (13:12 +1100)]
UI: tweak check for sequence length

Slightly less work to check if it's None
(no need to inspect the listbase).

20 months agoCleanup: redundant staticmethod use
Campbell Barton [Wed, 13 Mar 2019 02:15:39 +0000 (13:15 +1100)]
Cleanup: redundant staticmethod use

staticmethod shouldn't be used unless it's necessary,
in that case a comment should be included especially when
subclassing non-staticmethods from RNA.

20 months agoCleanup: redundant bpy.context access
Campbell Barton [Wed, 13 Mar 2019 02:13:29 +0000 (13:13 +1100)]
Cleanup: redundant bpy.context access

20 months agoCleanup: remove unused menu
Campbell Barton [Wed, 13 Mar 2019 01:28:56 +0000 (12:28 +1100)]
Cleanup: remove unused menu

20 months agoCleanup: pass context to draw method instead of accessing from bpy
Campbell Barton [Wed, 13 Mar 2019 00:52:54 +0000 (11:52 +1100)]
Cleanup: pass context to draw method instead of accessing from bpy

Allows for context overrides/mocking.

20 months agoFix typo in grease pencil UI
Campbell Barton [Wed, 13 Mar 2019 01:53:40 +0000 (12:53 +1100)]
Fix typo in grease pencil UI

20 months agoFix T59501: Eevee doesn't use integer node sockets
Clément Foucault [Wed, 13 Mar 2019 00:20:44 +0000 (01:20 +0100)]
Fix T59501: Eevee doesn't use integer node sockets

This is a hacky fix. We just convert the int as a float and use it as such.

This works ok for small int but will not be correct for numbers greater
than 4194303.

Correct support would require deeper change for UBO creation and socket

20 months agoFix T62436: New added Torus won't appear in Local View
Campbell Barton [Tue, 12 Mar 2019 23:41:12 +0000 (10:41 +1100)]
Fix T62436: New added Torus won't appear in Local View

Add Object.local_view_get/set

Alternate fix which supports removing from local view & checking
if an object is in local view.
Also avoids redundant refresh.

Matches 2.7x Object.layer_local_view capabilities more closely,
without exposing the flag directly.

20 months agoRevert "Fix T62436: New added Torus won't appear in Local View"
Campbell Barton [Tue, 12 Mar 2019 22:29:02 +0000 (09:29 +1100)]
Revert "Fix T62436: New added Torus won't appear in Local View"

This reverts commit 9054b39b27c4198f436329f78af43fe3f3175508.

Using the region data to find the screen & space-data doesn't make sense
since local-view is space-data there is no reason to pass in a region
argument, then lookup the space-data.

There was no way to remove an object or check it's local view state
as there was in 2.7x.

This can be made closer to 2.7x API and simplified.

20 months agoFix T60005: Eevee: Volume material doen't write alpha
Clément Foucault [Tue, 12 Mar 2019 22:14:37 +0000 (23:14 +0100)]
Fix T60005: Eevee: Volume material doen't write alpha

20 months agoFix T60802 Eevee: No diffuse when using Clearcoat + Add shader
Clément Foucault [Tue, 12 Mar 2019 21:32:13 +0000 (22:32 +0100)]
Fix T60802 Eevee: No diffuse when using Clearcoat + Add shader

20 months agoFix T62510: Crash resetting space type to default
Campbell Barton [Tue, 12 Mar 2019 22:11:50 +0000 (09:11 +1100)]
Fix T62510: Crash resetting space type to default

20 months agoRNA: support enum defaults which don't exist in the item array
Campbell Barton [Tue, 12 Mar 2019 22:06:44 +0000 (09:06 +1100)]
RNA: support enum defaults which don't exist in the item array

Allow dynamic defines to have defaults which don't exist in the
static array, this is an exception that's only allowed when the item
array is set to DummyRNA_NULL_items.

20 months agoGPencil: Fix merge duplicate
Antonioya [Tue, 12 Mar 2019 22:09:05 +0000 (23:09 +0100)]
GPencil: Fix merge duplicate

20 months agoGPencil: Fix compiler warning
Antonioya [Tue, 12 Mar 2019 22:02:06 +0000 (23:02 +0100)]
GPencil: Fix compiler warning

20 months agoFix T62491: Wrong tooltip for lock/unlock strips
Campbell Barton [Tue, 12 Mar 2019 21:48:55 +0000 (08:48 +1100)]
Fix T62491: Wrong tooltip for lock/unlock strips

20 months agoCleanup: warning
Campbell Barton [Tue, 12 Mar 2019 21:53:51 +0000 (08:53 +1100)]
Cleanup: warning

20 months agoFix T62377: Crash hiding Armature in edit mode and switching to pose
Dalai Felinto [Tue, 12 Mar 2019 21:03:31 +0000 (18:03 -0300)]
Fix T62377: Crash hiding Armature in edit mode and switching to pose

The poll function accepts hidden objects, so they are not stuck in pose
mode, but the operator itself expects a valid base, which we don't have.

When called from OBJECT_OT_mode_set() it will fallback to object mode.

It is the same that happens when in Edit Mesh mode with a hidden active
object and trying to change to Vertex Painting mode.

20 months agoFix T60902 Eevee: Environment texture partially visible on transp. render
Clément Foucault [Tue, 12 Mar 2019 21:02:20 +0000 (22:02 +0100)]
Fix T60902 Eevee: Environment texture partially visible on transp. render

This was due to environement not being rendered with alpha blending. So
color was still written and contributed to the final render color. Now
we multiply by background alpha so that it removes any background pixels

For this reason this made the (incorrect) final premult unecessary.

20 months agoFix T61380 Geometry normal node incorrect for backfacing faces in Eevee
Clément Foucault [Tue, 12 Mar 2019 17:49:02 +0000 (18:49 +0100)]
Fix T61380 Geometry normal node incorrect for backfacing faces in Eevee

20 months agoFix Hook to New Object won't appear in Local View
Dalai Felinto [Tue, 12 Mar 2019 20:42:37 +0000 (17:42 -0300)]
Fix Hook to New Object won't appear in Local View

Reported as part of T62436 (although the bug was a different one).

20 months agoFix T62436: New added Torus won't appear in Local View
Dalai Felinto [Tue, 12 Mar 2019 20:28:45 +0000 (17:28 -0300)]
Fix T62436: New added Torus won't appear in Local View

I had to add a region3d.local_view_add(ob) for the API.

20 months agoSilence warning in greasepencil code
Dalai Felinto [Tue, 12 Mar 2019 19:49:12 +0000 (16:49 -0300)]
Silence warning in greasepencil code

20 months agoFix T62508: Annotations Placement default value is not the same as factory default
Antonioya [Tue, 12 Mar 2019 19:29:33 +0000 (20:29 +0100)]
Fix T62508: Annotations Placement default value is not the same as factory default

20 months agoGPencil: Restrict new data operator to object mode
Antonioya [Tue, 12 Mar 2019 18:58:43 +0000 (19:58 +0100)]
GPencil: Restrict new data operator to object mode

The operator was only accessible from search menu, and this was wrong. The operator must be only used in object mode.

20 months agoFix T62507: Removing Annotation layers removes layers option
Antonioya [Tue, 12 Mar 2019 18:49:46 +0000 (19:49 +0100)]
Fix T62507: Removing Annotation layers removes layers option

Now, when the layer is removed, the Annotation title is removed too to get the same situation when you start using annotations.

20 months agoFix T62506: Erasing blank annotation layer activates Move operator
Antonioya [Tue, 12 Mar 2019 18:36:12 +0000 (19:36 +0100)]
Fix T62506: Erasing blank annotation layer activates Move operator

If you try to erase empty annotations, the operator is canceled.

The message is necessary to avoid the keymap is captured by the next keymap in the stack.

20 months agoPython/ViewLayers: add object.hide_get/set(), and optional view layer parameters.
Brecht Van Lommel [Tue, 12 Mar 2019 17:44:56 +0000 (18:44 +0100)]
Python/ViewLayers: add object.hide_get/set(), and optional view layer parameters.

These new functions control the per view layer object hiding state, similar to
the selection state. All these object state checking functions now also optionally
take a view layer to use instead of the active view layer.

Fixes T62062.

20 months agoWindows: Add convenience logging batch files.
Ray Molenkamp [Tue, 12 Mar 2019 17:36:44 +0000 (11:36 -0600)]
Windows: Add convenience logging batch files.

To make triaging a little easier these batchfiles generate the
debug log and sysinfo files and instruct the user how to attach
them to their bug report

Differential Revision:

Reviewers: brecht, zeddb

20 months agoCleanup: comment on `GPU_pass_compile`.
mano-wii [Tue, 12 Mar 2019 17:28:57 +0000 (14:28 -0300)]
Cleanup: comment on `GPU_pass_compile`.

20 months agoFix T62388: object.visible_get() not affected by object.hide_viewport.
Brecht Van Lommel [Tue, 12 Mar 2019 17:24:33 +0000 (18:24 +0100)]
Fix T62388: object.visible_get() not affected by object.hide_viewport.

After recent changes BASE_VISIBLE was not always disabled properly when the
object is hidden. This refactors the code a bit to hopefully be more clear.

20 months agoUse the same string for DNA enum and CLI argument for EXR image format setting
Sybren A. Stüvel [Tue, 12 Mar 2019 15:17:47 +0000 (16:17 +0100)]
Use the same string for DNA enum and CLI argument for EXR image format setting

The `--render-format` CLI option takes `EXR` and `MULTILAYER`, whereas
the DNA image format render setting uses `OPEN_EXR` and
`OPEN_EXR_MULTILAYER`. This commit adds the DNA values to the CLI
argument, so that it is possible to take the selected value from DNA and
pass it as-is to the CLI. This is used in Flamenco, for example.

The `OPEN_EXR` and `OPEN_EXR_MULTILAYER` are now aliases, so both the
existing and the new options keep working.

Reviewers: campbellbarton, brecht

Reviewed By: brecht

Subscribers: fsiddi

Tags: #bf_blender_2.8

Differential Revision:

20 months agoFix T62279: Rendering simple geometry corrupts with greasepencil layer
Clément Foucault [Tue, 12 Mar 2019 14:53:10 +0000 (15:53 +0100)]
Fix T62279: Rendering simple geometry corrupts with greasepencil layer

This was caused by a missing state reset. Also adding safety state reset
before and after drawing (might not be necessary).

20 months agoEevee: Planar Ref.: Invert view matrix to remove triangle front face flip
Clément Foucault [Tue, 12 Mar 2019 14:45:44 +0000 (15:45 +0100)]
Eevee: Planar Ref.: Invert view matrix to remove triangle front face flip

This was the cause of some issue with normal mapping. This way is cleaner
since it does not modify the state of the drawcalls and other ad-hoc
solutions to fix the problems down the road. Unfortunately, it does require
to fix every sampling coordinate for this texture.

Fix T62215: flipped normals in reflection plane

20 months agoDRW: Fix missing state reset before draw pass
Clément Foucault [Mon, 11 Mar 2019 22:52:12 +0000 (23:52 +0100)]
DRW: Fix missing state reset before draw pass

This is needed before any drawcall. If not, undefined behavior can happen.

20 months agoFix (unreported) Outliner could add (link...) a collection to a linked scene/collection.
Bastien Montagne [Tue, 12 Mar 2019 14:47:07 +0000 (15:47 +0100)]
Fix (unreported) Outliner could add (link...) a collection to a linked scene/collection.

Think that's the last case... At least for now.

20 months agoFix T62488: Can delete collection from indirect linked library.
Bastien Montagne [Tue, 12 Mar 2019 14:37:09 +0000 (15:37 +0100)]
Fix T62488: Can delete collection from indirect linked library.

Same issue as with previous commits for other Collection Outlier's
operations, checks are always different though...

20 months agoFix (unreported) Outliner's New Collection adding local collection to linked IDs.
Bastien Montagne [Tue, 12 Mar 2019 14:15:58 +0000 (15:15 +0100)]
Fix (unreported) Outliner's New Collection adding local collection to linked IDs.

Similar issue to the one about Duplicate operation...

20 months agoCleanup: Outliner's Collection duplicate: don't check for visualization type in exec...
Bastien Montagne [Tue, 12 Mar 2019 14:05:11 +0000 (15:05 +0100)]
Cleanup: Outliner's Collection duplicate: don't check for visualization type in exec function.

This has already been ensured by poll callback...

20 months agoFix (unreported) duplicated collection from linked scene would be parented to that...
Bastien Montagne [Tue, 12 Mar 2019 13:58:33 +0000 (14:58 +0100)]
Fix (unreported) duplicated collection from linked scene would be parented to that scene.

In other words, Duplicate Collection could link local ID into a linked
one... Nasty. ;)

Add checks that found parent is not a linked data-block (and try to
find a fall-back one if this is the case).

20 months agoBKE Collections: add helper to find the scene of a master collection.
Bastien Montagne [Tue, 12 Mar 2019 13:57:59 +0000 (14:57 +0100)]
BKE Collections: add helper to find the scene of a master collection.

20 months agoFix T62457: Crash with rigid body and disabled objects
Sergey Sharybin [Tue, 12 Mar 2019 14:25:50 +0000 (15:25 +0100)]
Fix T62457: Crash with rigid body and disabled objects

Need to always ensure objects form rigid body wortld are part
of dependency graph.