3 months agoCleanup: remove DNA_PRIVATE_WORKSPACE hacks.
Brecht Van Lommel [Tue, 2 Apr 2019 11:21:21 +0000 (13:21 +0200)]
Cleanup: remove DNA_PRIVATE_WORKSPACE hacks.

This is just not practical to do for the code as a whole, and having it as an
exception for one specific data structure is not that helpful. This has only
been in the way for me when refactoring code.

3 months agoCleanup: Fix compiler warning
Antonioya [Tue, 2 Apr 2019 11:13:23 +0000 (13:13 +0200)]
Cleanup: Fix compiler warning

3 months agoFix T63120 Select random in particle edit mode is broken
Sebastian Parborg [Tue, 2 Apr 2019 10:35:16 +0000 (12:35 +0200)]
Fix T63120 Select random in particle edit mode is broken

Fix coding snafu where the variable keeping track of changes only took
the state of the last element into account.

3 months agoFix T63211: Can't move camera in viewport while realtime render mode on
Sergey Sharybin [Tue, 2 Apr 2019 09:38:55 +0000 (11:38 +0200)]
Fix T63211: Can't move camera in viewport while realtime render mode on

The issue is that Eevee directly evaluates animation on a datablock which
is a part of active dependency graph.

This is a broken logic by design and requires a complete revamp to support
more real life cases when camera is parented to a camera rig, but it is
beyond of what i can do with a simple bugfix.

3 months agoFix T61598: Python error from connect rigid body feature
Philipp Oeser [Tue, 2 Apr 2019 08:15:04 +0000 (10:15 +0200)]
Fix T61598: Python error from connect rigid body feature

needed update to 2.8

3 months agoFix T60199: Icon Viewer addon causes internal errors and slows text editor
Philipp Oeser [Fri, 29 Mar 2019 15:10:36 +0000 (16:10 +0100)]
Fix T60199: Icon Viewer addon causes internal errors and slows text editor

this just removes unused icon definitions [for which no icons exist

Reviewers: billreynish, brecht

Maniphest Tasks: T60199

Differential Revision:

3 months agoCleanup: empty expression statement warning
Campbell Barton [Tue, 2 Apr 2019 06:54:04 +0000 (17:54 +1100)]
Cleanup: empty expression statement warning

3 months agoFix T63101: Blender crashes on adding any object to collection duplicated with added...
Bastien Montagne [Mon, 1 Apr 2019 19:10:25 +0000 (21:10 +0200)]
Fix T63101: Blender crashes on adding any object to collection duplicated with added scene.

Issue was that (deep) duplication code of scene ended up leaving
children collections of new master one without any parent.

Note that even though I think that fix is OK for now, we should really
make 'deep' duplication of IDs part of the generic ID management code.
Am less and less happy with current handling of this, done half from
/editors code, half from some semi-specialized helpers from /blenkernel,
with sometimes nearly the same logic replicated several times for
slightly different needs, etc. Unfortunately this would not be a small
refactor, so it will have to wait...

3 months agoEdit Mesh Selection: Clear out buffer that indicates out of bounds pixels.
mano-wii [Sun, 31 Mar 2019 18:58:29 +0000 (15:58 -0300)]
Edit Mesh Selection: Clear out buffer that indicates out of bounds pixels.

This prevents the use of uninitialized buffer.
In addition, use `memset` instead of assigning in a loop.

3 months agoGPencil: Handle vertex groups weights correctly
Antonioya [Mon, 1 Apr 2019 14:47:01 +0000 (16:47 +0200)]
GPencil: Handle vertex groups weights correctly

In extrude operator when the point was added, the weight data pointer was wrongly connected to old pointer.

Now, when move the data, the pointer is moved, but when a new point is added, the memory is duplicated to keep separated copies of the pointer.

This is related T62872

Thanks to @sergey for his help fixing this bug.

3 months agoCleanup: Indentation
Sergey Sharybin [Mon, 1 Apr 2019 14:33:28 +0000 (16:33 +0200)]
Cleanup: Indentation

Got broken in the previous commit somehow.

3 months agoFix memory leak in armatures with no bones
Sergey Sharybin [Mon, 1 Apr 2019 14:09:26 +0000 (16:09 +0200)]
Fix memory leak in armatures with no bones

The cleanup operation was never run for such armatures.

3 months agoCleanup: Spelling
Sergey Sharybin [Mon, 1 Apr 2019 13:33:09 +0000 (15:33 +0200)]
Cleanup: Spelling

3 months agoTweak behavior of object.to_mesh()
Sergey Sharybin [Wed, 27 Mar 2019 21:28:44 +0000 (22:28 +0100)]
Tweak behavior of object.to_mesh()

- Passing original object with apply_modifiers=false will give a
  non-modified non-deformed mesh.
  The result mesh will point to datablocks from the original "domain". For
  example, materials will be original.

- Passing original object with apply_modifiers=true will give a mesh which
  has all modifiers applied.
  The result mesh will point to datablocks from the original "domain". For
  example, materials will be original.

- Passing evaluated object will ignore apply_modifiers argument, and the
  result always contains all modifiers applied.
  The result mesh will point to an evaluated datablocks. For example,
  materials will be an evaluated IDs from the dependency graph.

Fixes T62916: Applying boolean modifier does not set material properly

Differential Revision:

3 months agoModifiers: Proper fix for the Apply Modifier
Sergey Sharybin [Tue, 26 Mar 2019 10:39:11 +0000 (11:39 +0100)]
Modifiers: Proper fix for the Apply Modifier

It is up to the operator to pass valid object to the modifiers

Fixes T62916: Applying boolean modifier does not set materials properly

3 months agoModifiers: Use object passed to evaluation
Sergey Sharybin [Tue, 26 Mar 2019 10:25:07 +0000 (11:25 +0100)]
Modifiers: Use object passed to evaluation

This was wrong and violating design to force modifiers to query
evaluated objects and IDs. It is up to the caller to make sure
the object is properly evaluatable.

Effectively, reverting changes from de491abf9962 (and possibly
other related changes).

3 months agoFix T62960: Expanding/Closing Constraints/Modifiers causes re-render
Sergey Sharybin [Mon, 1 Apr 2019 08:22:06 +0000 (10:22 +0200)]
Fix T62960: Expanding/Closing Constraints/Modifiers causes re-render

Mark specific properties as no-dependency-graph tag.

This is needed to avoid a centralized Copy-on-Write tag from RNA
pointer update.

3 months agoRemove evaluated RNA pointer lookup in interface
Sergey Sharybin [Mon, 1 Apr 2019 08:18:07 +0000 (10:18 +0200)]
Remove evaluated RNA pointer lookup in interface

Since there is a flush of evaluated values back to the original
for an active dependency graph we don't need this lookup anymore.

Not only it slows interface drawing down, but also is becoming
in a way of the upcoming fix.

3 months agoFix T63071: Bevel inconsistent results toggling harden_normals.
Howard Trickey [Mon, 1 Apr 2019 11:58:34 +0000 (07:58 -0400)]
Fix T63071: Bevel inconsistent results toggling harden_normals.

Some iterations in bevel were over a hash table, which leads
to possibly different results run-to-run, especially when
loop_slide is enabled. Changed those iters to go over all verts
of BMesh, which leads to consistent order run-to-run.

3 months agoFix T63169: 'Duplicate Current' entry in new workspace menu is not translated.
Bastien Montagne [Mon, 1 Apr 2019 09:30:44 +0000 (11:30 +0200)]
Fix T63169: 'Duplicate Current' entry in new workspace menu is not translated.

3 months agoGPencil: Redesign soft eraser logic
Antonioya [Mon, 1 Apr 2019 09:24:03 +0000 (11:24 +0200)]
GPencil: Redesign soft eraser logic

The old logic was working if the eraser was moved towards the end of the stroke, but got ugly results when the eraser was done towards the start of the stroke.

3 months agoGPencil: Remove low limit for soft eraser
Antonioya [Sun, 31 Mar 2019 18:30:54 +0000 (20:30 +0200)]
GPencil: Remove low limit for soft eraser

The low limit was not needed in the loop.

3 months agoFix T62996
Richard Antalik [Sun, 31 Mar 2019 21:52:47 +0000 (14:52 -0700)]
Fix T62996

    Brecht Van Lommel (brecht)
    Clément Foucault (fclem)

Differential revision:

3 months agoFix: Buffer overflow in StudioLight
Ray Molenkamp [Sun, 31 Mar 2019 19:45:13 +0000 (13:45 -0600)]
Fix: Buffer overflow in StudioLight

sl->light_ambient is a float[3], copy_v4_fl4 overwrites sl->free_function with a bogus
pointer on 32 bit.

3 months agoI18n messages extraction: add 'generic' handling of Tools.
Bastien Montagne [Sun, 31 Mar 2019 16:49:11 +0000 (18:49 +0200)]
I18n messages extraction: add 'generic' handling of Tools.

3 months ago18N for tools definitions: make them resilient to None context.
Bastien Montagne [Sun, 31 Mar 2019 16:43:14 +0000 (18:43 +0200)]
18N for tools definitions: make them resilient to None context.

Dynamic callbacks generating lists of tools should accept None context,
not crash on it.

Similar to what we do with dynamic RNA enums, when NULL/None context is
given, assume we are in 'introspection' mode and return as many things
as possible.

This is currently essentially used by i18n messages extraction tool
(where getting all possible entries is kind of mandatory ;) ).

Also add some initial missing tranlations for complex cases that cannot
be automated, there'll likely be more of that kind...

3 months agoFix/Cleanup bad usage of RNA_def_parameter_clear_flags() on RNA properties.
Bastien Montagne [Sun, 31 Mar 2019 14:48:39 +0000 (16:48 +0200)]
Fix/Cleanup bad usage of RNA_def_parameter_clear_flags() on RNA properties.

3 months agoFix T63137: crash pressing enter to confirm menu, after recent changes.
Brecht Van Lommel [Sat, 30 Mar 2019 19:30:35 +0000 (20:30 +0100)]
Fix T63137: crash pressing enter to confirm menu, after recent changes.

3 months agoCleanup: remove unused modifier methods.
Brecht Van Lommel [Sat, 30 Mar 2019 18:16:44 +0000 (19:16 +0100)]
Cleanup: remove unused modifier methods.

3 months agoGPencil: Uses same random seed for render in Noise modifier
Antonioya [Sat, 30 Mar 2019 16:06:49 +0000 (17:06 +0100)]
GPencil: Uses same random seed for render in Noise modifier

As the random seed was calculated in the copy data, the render could be a little different. Now, the data is saved in the original data.

3 months agoGPencil: Fix segment fault when use F3 search menu.
Author Name [Sat, 30 Mar 2019 15:03:39 +0000 (16:03 +0100)]
GPencil: Fix segment fault when use F3 search menu.

Author of the patch: Robert Guetzkow (@rjg)

3 months agoGPencil: Improve soft eraser for low pressure strokes
Antonioya [Sat, 30 Mar 2019 09:43:52 +0000 (10:43 +0100)]
GPencil: Improve soft eraser for low pressure strokes

For very thin strokes with low pressure, the low limit value was too high.

3 months agoFix T63086: Navigation problem with Background/Reference Images
Sebastian Parborg [Sat, 30 Mar 2019 07:21:09 +0000 (08:21 +0100)]
Fix T63086: Navigation problem with Background/Reference Images

The issue was the manipulated depth for images would be used when doing distance depth checks.
Now we will use the actual depth of the image object when doing such tests.

Reviewed By: Clément Foucault

Differential Revision:

3 months agoFix T63115 crash upon switching to textured/rendered mode
Clément Foucault [Sat, 30 Mar 2019 03:20:25 +0000 (04:20 +0100)]
Fix T63115 crash upon switching to textured/rendered mode

3 months agoUI: Icons update
William Reynish [Sat, 30 Mar 2019 00:02:15 +0000 (01:02 +0100)]
UI: Icons update

New icons from Andrzej Ambroż / jendrzych:
-Adds separate icons for 3D Cursor orientation and pivot
Also, many dozens of tweaks and updates - too many to mention here.
Full list is on Devtalk

3 months agoCleanup: style, use braces for the Python API
Campbell Barton [Fri, 29 Mar 2019 19:12:48 +0000 (06:12 +1100)]
Cleanup: style, use braces for the Python API

3 months agoCleanup: style
Campbell Barton [Fri, 29 Mar 2019 20:13:55 +0000 (07:13 +1100)]
Cleanup: style

3 months agoEevee: Material: Decouple transparent shadows from blend mode
Clément Foucault [Fri, 29 Mar 2019 18:18:08 +0000 (19:18 +0100)]
Eevee: Material: Decouple transparent shadows from blend mode

This makes it easier to exclude a surface from casting shadows and can be
used to manipulate the shadows even for opaque surfaces.

Versionning ensure that old behavior is transfered to new rendering logic.

3 months agoFix T61129 Eevee: alpha texture shadow bug
Clément Foucault [Fri, 29 Mar 2019 17:59:11 +0000 (18:59 +0100)]
Fix T61129 Eevee: alpha texture shadow bug

This was due to some shading resources not being bound for the shadow
shader. This commit completely remove the shading part when in a shadow
shader. Thus making it a bit more lightweight and removing the needed

3 months agoFix cramped display of tool setting enums in workspace tab.
Brecht Van Lommel [Fri, 29 Mar 2019 16:53:56 +0000 (17:53 +0100)]
Fix cramped display of tool setting enums in workspace tab.

3 months agoFix part of T63102: wrong Python API Reference link in Help menu.
Brecht Van Lommel [Fri, 29 Mar 2019 16:34:16 +0000 (17:34 +0100)]
Fix part of T63102: wrong Python API Reference link in Help menu.

3 months agoFix header text for muted collapsed nodes not being greyed out.
Brecht Van Lommel [Fri, 29 Mar 2019 14:51:36 +0000 (15:51 +0100)]
Fix header text for muted collapsed nodes not being greyed out.

3 months agoEevee: Implement Texture coordinate from object
Clément Foucault [Fri, 29 Mar 2019 16:40:50 +0000 (17:40 +0100)]
Eevee: Implement Texture coordinate from object

First try to implement T57489. But unfortunately, there is a missing
dependency in the depsgraph that does not trigger the shader update.

3 months agoCleanup: Line wrapping
Sergey Sharybin [Fri, 29 Mar 2019 14:40:59 +0000 (15:40 +0100)]
Cleanup: Line wrapping

3 months agoGPencil: Improve soft eraser for last stroke points
Antonioya [Fri, 29 Mar 2019 14:39:29 +0000 (15:39 +0100)]
GPencil: Improve soft eraser for last stroke points

Now, the last point is managed separately in order to get smoother transition.

3 months agoCleanup: Spelling in comment
Sergey Sharybin [Fri, 29 Mar 2019 14:33:44 +0000 (15:33 +0100)]
Cleanup: Spelling in comment

3 months agoFix T63042: Grease pencil and armature will sometimes copy successfully because of...
Bastien Montagne [Fri, 29 Mar 2019 13:54:50 +0000 (14:54 +0100)]
Fix T63042: Grease pencil and armature will sometimes copy successfully because of the put in Collection order, sometimes fail.

Remove remapping to new IDs from `BKE_object_duplicate()` itself, doing
it here will break later remapping done after all desired objects have
been duplicated, preventing complete remap of ID pointers used in obdata
and other sub-data of duplicated objects.

Checked, the only two usages of this function were already doing
separated later step for this anyway.

3 months agoCleanup: BKE_object_duplicate.
Bastien Montagne [Fri, 29 Mar 2019 13:53:45 +0000 (14:53 +0100)]
Cleanup: BKE_object_duplicate.

Comments, code consistency, remove disabled code...

3 months agoCleanup: Fix comment.
Bastien Montagne [Thu, 28 Mar 2019 14:20:58 +0000 (15:20 +0100)]
Cleanup: Fix comment.

3 months agoFix T63075: edit mode crash with deforming modifiers, after recent changes.
Brecht Van Lommel [Fri, 29 Mar 2019 13:53:56 +0000 (14:53 +0100)]
Fix T63075: edit mode crash with deforming modifiers, after recent changes.

3 months agoGPencil: Cleanup code
Antonioya [Fri, 29 Mar 2019 11:51:46 +0000 (12:51 +0100)]
GPencil: Cleanup code

Reduce double function calling.

3 months agoFix T63082: Outliner allows assign grease pencil materials to mesh
Antonioya [Fri, 29 Mar 2019 10:58:28 +0000 (11:58 +0100)]
Fix T63082: Outliner allows assign grease pencil materials to mesh

The grease pencil materials only can be assigned to objects of grease pencil type.

3 months agoFix T62938: Rigid body crash with surface effector
Sergey Sharybin [Fri, 29 Mar 2019 09:27:57 +0000 (10:27 +0100)]
Fix T62938: Rigid body crash with surface effector

Missing dependency graph relation from geometry to simulation,
which made simulation to use evaluated mesh while it is being

3 months agoCleanup: Make it obvious which relations are used
Sergey Sharybin [Fri, 29 Mar 2019 09:21:36 +0000 (10:21 +0100)]
Cleanup: Make it obvious which relations are used

Relation in dependency graph is something else. So make it clear
that those are the effector ones.

3 months agoFix T62908: Missing update when inserting keyframe from dopesheet
Sergey Sharybin [Fri, 29 Mar 2019 09:01:55 +0000 (10:01 +0100)]
Fix T62908: Missing update when inserting keyframe from dopesheet

3 months agoFix T63063: solidify modifier crash after recent changes.
Brecht Van Lommel [Fri, 29 Mar 2019 00:27:58 +0000 (01:27 +0100)]
Fix T63063: solidify modifier crash after recent changes.

It should not assume there to be an origindex layer. Checked other modifiers
and they all seem to explicitly create it or verify if it's NULl.

3 months agoCycles: reduce number of synchronizing object prints.
Brecht Van Lommel [Fri, 29 Mar 2019 00:29:42 +0000 (01:29 +0100)]
Cycles: reduce number of synchronizing object prints.

Do it only for meshes/curves since those are potentially slow and need user
feedback to see things are not stuck. For object instances and lights assume
it's fast enough.

Printing too much can have a performance impact on slow Windows command
prompt or when logging complex scene renders.

3 months agoEevee: Render: Reduce debug print amount to not decrease perf
Clément Foucault [Thu, 28 Mar 2019 22:24:25 +0000 (23:24 +0100)]
Eevee: Render: Reduce debug print amount to not decrease perf

This is to fix the slowdown issue experienced on windows when rendering
from command line.

Fix T59649 Eevee in command-line batch mode is slow with particles/duplis

3 months agoGPU: Fix color difference when rendering to gpu_py_offscreen
Clément Foucault [Thu, 28 Mar 2019 21:38:55 +0000 (22:38 +0100)]
GPU: Fix color difference when rendering to gpu_py_offscreen

Now we do the color management inside the Draw manager and output CM byte

3 months agoFix T62178 Eevee: Texture Box mapping not matching Cycles if object is scaled
Clément Foucault [Thu, 28 Mar 2019 21:08:39 +0000 (22:08 +0100)]
Fix T62178 Eevee: Texture Box mapping not matching Cycles if object is scaled

The wrong transformation was used. Add a new matrix specially for this case.

This also fix the Node texture coordinate that was suffering the same issue.

3 months agoFix T58387 Voronoi(Cells) does not work on eevee (amd + windows)
Clément Foucault [Thu, 28 Mar 2019 17:14:04 +0000 (18:14 +0100)]
Fix T58387 Voronoi(Cells) does not work on eevee (amd + windows)

Thanks to Gabor Fekete for helping finding the issue.

Was caused by uninitialized variable. Also took the oportunity to use comp
swizzling instead of multiple assignment.

3 months agoDRW: Fix Memory leak introduced by previous commit
Clément Foucault [Thu, 28 Mar 2019 17:09:10 +0000 (18:09 +0100)]
DRW: Fix Memory leak introduced by previous commit

3 months agoDRW/Eevee: Add correct support for Orco
Clément Foucault [Thu, 28 Mar 2019 15:36:45 +0000 (16:36 +0100)]
DRW/Eevee: Add correct support for Orco

Until now, Orcos were computed by the gpu (GLSL) and were not taking into
account the modifier stack (breaking orco for deformed mesh).

Now Orco is now computed on CPU but only if a modifier stack is present.

Tagging that an ORCO layer is present is done via a 4th component, which is
a waste of memory/bandwidth. Best would be to do the same as auto attrib
color space and save a bool uniform somewhere but for now it's too

3 months agoUI: tweak display of report messages in the status bar.
Nathan Craddock [Thu, 28 Mar 2019 16:54:35 +0000 (17:54 +0100)]
UI: tweak display of report messages in the status bar.

Remove fading away the color, share theme colors with info editor.

Differential Revision:

3 months agoFix T60719: muted nodes are not clearly visible.
Robert Guetzkow [Thu, 28 Mar 2019 16:39:54 +0000 (17:39 +0100)]
Fix T60719: muted nodes are not clearly visible.

Now the entire node gets greyed out, instead of using a red header that is
hard to distinguish from other nodes with similar header colors.

Differential Revision:

3 months agoFix part of T60735: invalid CD_ORIGINDEX data in some modifier stack evaluations.
Brecht Van Lommel [Thu, 28 Mar 2019 14:05:04 +0000 (15:05 +0100)]
Fix part of T60735: invalid CD_ORIGINDEX data in some modifier stack evaluations.

BKE_mesh_new_nomain automatically added a CD_ORIGINDEX layer initialized to 0,
which was never filled in correctly. In 2.7 the equivalent function used to
modify the source derivedmesh and add valid original indices to it, but this
is no longer possible in the new design and was quite unpredictable anyway.

Now instead rely on mesh_calc_modifiers and the depsgraph to determine when
CD_ORIGINDEX should be added.

3 months agoFix T60735: Cycles render hangs with vertex instancing.
Brecht Van Lommel [Thu, 28 Mar 2019 13:44:12 +0000 (14:44 +0100)]
Fix T60735: Cycles render hangs with vertex instancing.

This should not use the original index as a unique instance index, with for
example an array modifier the same original index may be used multiple times.

3 months agoCleanup: better naming, comments, variable scoping in mesh_calc_modifiers.
Brecht Van Lommel [Thu, 28 Mar 2019 10:42:53 +0000 (11:42 +0100)]
Cleanup: better naming, comments, variable scoping in mesh_calc_modifiers.

3 months agoCleanup: remove unused derivedmesh code.
Brecht Van Lommel [Wed, 27 Mar 2019 18:07:16 +0000 (19:07 +0100)]
Cleanup: remove unused derivedmesh code.

3 months agoFix build errors
mano-wii [Thu, 28 Mar 2019 18:59:51 +0000 (15:59 -0300)]
Fix build errors

From rBd5cb425b8745

3 months agoUI: Theme: Make selected text stand out
William Reynish [Thu, 28 Mar 2019 18:59:46 +0000 (19:59 +0100)]
UI: Theme: Make selected text stand out

Previous selected text color was almost invisible against the dark background.
Use same selected/highlight color as in other places in the default theme.

Issue reported on Devtalk by user Symstract

3 months agoPossible fix for T62999: Crash when select in edit mode.
mano-wii [Thu, 28 Mar 2019 17:17:00 +0000 (14:17 -0300)]
Possible fix for T62999: Crash when select in edit mode.

Apparently some drivers don't allow `glReadPixel` read out pixels of texture boundaries.
Intersect `rect` to avoid such cases.

3 months agoGPencil: Fix error in previous commit
Antonioya [Thu, 28 Mar 2019 16:17:04 +0000 (17:17 +0100)]
GPencil: Fix error in previous commit

3 months agoFix T63054: Crash on "Grease Pencil Unlink"
Antonioya [Thu, 28 Mar 2019 16:07:49 +0000 (17:07 +0100)]
Fix T63054: Crash on "Grease Pencil Unlink"

This operator was used only by annotations and it was part of the old legacy code.

Now, the operator is limited to annotations and cannot be used with grease pencil objects.

Also changed the tooltip to clarify it's only for annotations.

3 months agoFix T63052: Crash on "Grease Pencil Fill" without Grease Pencil Object
Antonioya [Thu, 28 Mar 2019 15:48:32 +0000 (16:48 +0100)]
Fix T63052: Crash on "Grease Pencil Fill" without Grease Pencil Object

Changed poll function to verify if the context is valid.

Also cleanup return values.

3 months agoFix T62717: Switching Shading Modes During Sculpting
Jeroen Bakker [Thu, 28 Mar 2019 15:10:15 +0000 (16:10 +0100)]
Fix T62717: Switching Shading Modes During Sculpting

Switching shader modes to material or render during a sculpting session
showed the model when the sculptsession was started. The user needed
to click that forced an update of the sculptsession.

In `sculpt_flush_update` the eevee drawing mesh is not updated when
workbench engine is used.

3 months agoFix T63032: Increase camera properties precision in UI
Jacques Lucke [Thu, 28 Mar 2019 14:56:53 +0000 (15:56 +0100)]
Fix T63032: Increase camera properties precision in UI

Reviewers: brecht

Differential Revision:

3 months agoFix T63015: Crash when using circle select tool in lattice edit mode
Jacques Lucke [Thu, 28 Mar 2019 14:03:27 +0000 (15:03 +0100)]
Fix T63015: Crash when using circle select tool in lattice edit mode

Reviewers: brecht

Differential Revision:

3 months agoFix T62874: Crash Texture shading+Transparency
Jeroen Bakker [Thu, 28 Mar 2019 13:58:37 +0000 (14:58 +0100)]
Fix T62874: Crash Texture shading+Transparency

When texure shading is enabled, the transparency accum shaders were not set/updated.
This resulted into a crash when transparent objects were rendered when shading mode
was set to texture.

This patch will add the V3D_SHADING_TEXTURE_COLOR to the modes for OIT so the
shaders are set.

Reviewed By: fclem

Maniphest Tasks: T62874

Differential Revision:

3 months agoFix T63040: Resizing node has offset
Jacques Lucke [Thu, 28 Mar 2019 13:56:55 +0000 (14:56 +0100)]
Fix T63040: Resizing node has offset

This broke in rB6500b31728d870506207d9d70837b171cbef32ea.

Reviewers: brecht

Differential Revision:

3 months agoDrawManager: Add Edge Detection To DisplayLists
Jeroen Bakker [Thu, 28 Mar 2019 13:51:29 +0000 (14:51 +0100)]
DrawManager: Add Edge Detection To DisplayLists

Objects that internally uses DispList do not cast shadow in the workbench.
Their outline is also not visible in object mode. The reason for this is
that edge detection was not implemented for Display Lists. This patch will
implement the edge detection.

Reviewed By: fclem

Maniphest Tasks: T62479

Differential Revision:

3 months agoFix T60421: Bone heads are hidden when non-connected parent is hidden
Sebastian Parborg [Thu, 28 Mar 2019 12:09:16 +0000 (13:09 +0100)]
Fix T60421: Bone heads are hidden when non-connected parent is hidden

The root point of a bone is now always drawn unless it is connected to an other bone.

Reviewed By: Clément Foucault

Differential Revision:

3 months agoFix T53997: island_margin in bpy.ops.uv.smart_project seems to have no effect
Sebastian Parborg [Thu, 28 Mar 2019 11:53:36 +0000 (12:53 +0100)]
Fix T53997: island_margin in bpy.ops.uv.smart_project seems to have no effect

Now island margin acts as a percentage instead of being the actual distance.
So the margin distance will always be the same regardless of the actual size of the geometry.

Reviewed By: Brecht

Differential Revision:

3 months agoFix T62944: Memory leak in animation playback
Sergey Sharybin [Thu, 28 Mar 2019 11:07:58 +0000 (12:07 +0100)]
Fix T62944: Memory leak in animation playback

Missing memory free in the early output of particles distribute

Seems it was always there.

3 months agoFix T63030: Edge crease is not applied for boundary edges
Sergey Sharybin [Thu, 28 Mar 2019 10:48:22 +0000 (11:48 +0100)]
Fix T63030: Edge crease is not applied for boundary edges

Caused by missing vertex sharpness comparison in the topology

3 months agoFix T63031: Keyframing Annotations doesn't work
Antonioya [Thu, 28 Mar 2019 10:43:17 +0000 (11:43 +0100)]
Fix T63031: Keyframing Annotations doesn't work

By design the annotation parameters must not be animatable.

Annotations are designed to take notes, not to create animations, so any animatable parameters have been flagged as non-animatable.

Note: As some properties are shared with grease pencil, I had to duplicate one property (adviced by @mont29) to keep grease pencil animatable but annotations don't.

3 months agoDepsgraph: Fix dependency cycle when adding rigid body
Sergey Sharybin [Thu, 28 Mar 2019 10:04:00 +0000 (11:04 +0100)]
Depsgraph: Fix dependency cycle when adding rigid body

Was a mistake in the recent change.

The idea here is: manual should invalidate point cache, but
rigid body simulation should only happen after point cache
was ensured to be in the correct state.

3 months agoFix T63037: Accelerator keys fail when another key is highlighted
Campbell Barton [Thu, 28 Mar 2019 05:44:27 +0000 (16:44 +1100)]
Fix T63037: Accelerator keys fail when another key is highlighted

3 months agoCleanup: add doxy sections to view3d_draw,header
Campbell Barton [Thu, 28 Mar 2019 04:00:27 +0000 (15:00 +1100)]
Cleanup: add doxy sections to view3d_draw,header

3 months agoFix bpy.msgbus.subscribe_rna argument parsing
Campbell Barton [Thu, 28 Mar 2019 00:19:48 +0000 (11:19 +1100)]
Fix bpy.msgbus.subscribe_rna argument parsing

Also enforce all arguments are keywords and update docstring.

3 months agoEdit Mesh Selection: Clear buffer before using in glReadPixel.
mano-wii [Wed, 27 Mar 2019 23:33:25 +0000 (20:33 -0300)]
Edit Mesh Selection: Clear buffer before using in glReadPixel.

Areas out of bound are not written.

3 months agoCleanup: style, use braces for makesdna, datatoc
Campbell Barton [Wed, 27 Mar 2019 22:49:10 +0000 (09:49 +1100)]
Cleanup: style, use braces for makesdna, datatoc

3 months agoDRW manager: Always assume that the GL_DITHER and GL_SCISSOR_TEST should be disabled...
mano-wii [Wed, 27 Mar 2019 22:36:12 +0000 (19:36 -0300)]
DRW manager: Always assume that the GL_DITHER and GL_SCISSOR_TEST should be disabled if not used.

This may fix a glitch detected when you perform edited mesh selection.
See comment in rB00bdb5cdf08f

3 months agoFix T63023: wrong Eevee window coordinates for background.
Brecht Van Lommel [Wed, 27 Mar 2019 21:32:13 +0000 (22:32 +0100)]
Fix T63023: wrong Eevee window coordinates for background.

3 months agoFix part of T63023: wrong Cycles window coordinates for background.
Brecht Van Lommel [Wed, 27 Mar 2019 20:18:18 +0000 (21:18 +0100)]
Fix part of T63023: wrong Cycles window coordinates for background.

3 months agoEevee: Fix reflection plane weird behavior when comming from lookdev mode
Clément Foucault [Wed, 27 Mar 2019 21:02:13 +0000 (22:02 +0100)]
Eevee: Fix reflection plane weird behavior when comming from lookdev mode

The reflection was set to use the 1x1px texture as rendering target and was
considered valid reflection texture.

3 months agoFix T63017: selection via lasso does not work properly in X-ray.
mano-wii [Wed, 27 Mar 2019 19:48:12 +0000 (16:48 -0300)]
Fix T63017: selection via lasso does not work properly in X-ray.

Probably missed in rB40f8ddf8297a.

3 months agoFix T55956: Transfer Weights: Source Layers can't be set to Active Layer.
Bastien Montagne [Wed, 27 Mar 2019 19:44:14 +0000 (20:44 +0100)]
Fix T55956: Transfer Weights: Source Layers can't be set to Active Layer.

Behavior of source/destination options was rather flaky in reversed

Note that even though this mode is a bit annoying and cumbersome, the
only alternative (defining a specific transfer weight operator) would be
much more verbose, so think that for now we'd rather keep what we have

3 months agoCleanup: minor comments fixes.
Bastien Montagne [Wed, 27 Mar 2019 08:45:59 +0000 (09:45 +0100)]
Cleanup: minor comments fixes.

3 months agoFix T62566 Eevee: Cubemap doesn't bake from current frame of animation
Clément Foucault [Wed, 27 Mar 2019 19:47:15 +0000 (20:47 +0100)]
Fix T62566 Eevee: Cubemap doesn't bake from current frame of animation

This was technically a feature request but it was quite simple to implement
so I did it quickly. Also it is much more consistent now.