4 months agoGPencil: Improve drawing feeling in big files
Antonioya [Fri, 5 Apr 2019 09:26:04 +0000 (11:26 +0200)]
GPencil: Improve drawing feeling in big files

When drawing in big files, the first points of the stroke were not smooth because the system was doing a copy of the depsgraph datablock.

Now, the depsgraph is not updated at the beginning and the feeling is far better, especially for big files.

To avoid the copy, the original datablock is used while drawing, because it's faster the lookup of the original data, than a full datablock copy.

Also some cleanup of the code.

4 months agoFix T60379: Cycles viewport adaptive subdivision hangs after updates.
Brecht Van Lommel [Thu, 4 Apr 2019 18:06:22 +0000 (20:06 +0200)]
Fix T60379: Cycles viewport adaptive subdivision hangs after updates.

The camera world to raster computation was using wrong values. Also fixes
update when changing subdivision scene settings.

4 months agoWorkbench: Support Transparency + Textures
Jeroen Bakker [Thu, 4 Apr 2019 11:47:18 +0000 (13:47 +0200)]
Workbench: Support Transparency + Textures

When texture drawing was enabled the fallback materials were not transparent.
The reason was that the solid material was requested. This patch will requesting
in this case the material from the forward renderer.

Fix: T63077

Reviewed By: fclem

Maniphest Tasks: T63077

Differential Revision:

4 months agoFix T63108 Eevee: Wrong Reflection plane matrix if camera view is not centered
Clément Foucault [Thu, 4 Apr 2019 16:08:42 +0000 (18:08 +0200)]
Fix T63108 Eevee: Wrong Reflection plane matrix if camera view is not centered

Invert X axis of the Window Matrix (AKA Projection matrix) instead of the
View matrix.

4 months agoFix T63198 Eevee: Indirect lighting settings arent not updating in Lookdev
Clément Foucault [Thu, 4 Apr 2019 15:58:35 +0000 (17:58 +0200)]
Fix T63198 Eevee: Indirect lighting settings arent not updating in Lookdev

This was caused by a missing check for those option.

4 months agoFix T63278 Eevee: LookDev: Volumetric on even if Scene World is off
Clément Foucault [Thu, 4 Apr 2019 15:17:40 +0000 (17:17 +0200)]
Fix T63278 Eevee: LookDev: Volumetric on even if Scene World is off

4 months agoFix segfault when audio system cannot be initialised
Sybren A. Stüvel [Thu, 4 Apr 2019 15:58:13 +0000 (17:58 +0200)]
Fix segfault when audio system cannot be initialised

`PyInit_aud()` can return `NULL` for variour reasons. When that happens,
we shouldn't continue.

4 months agoFix T61830: Remove option to add new keymap item in search mode
Jacques Lucke [Thu, 4 Apr 2019 15:37:24 +0000 (17:37 +0200)]
Fix T61830: Remove option to add new keymap item in search mode

This was not working well, because the search text was removed
after pressing this button. Finding the item that was inserted
was not easy.

Removing the option seems to be the best solution for now.

4 months agoEEVEE+Workbench: Show partsys in final rendering
Jeroen Bakker [Thu, 4 Apr 2019 13:07:30 +0000 (15:07 +0200)]
EEVEE+Workbench: Show partsys in final rendering

In final rendering mode the display type was tested for
visibility flag. This should only occus when doing viewport

Reviewed By: fclem

Maniphest Tasks: T63056

Differential Revision:

4 months agoFix T63256: Make Dupli Face was broken since there are collections
Jacques Lucke [Thu, 4 Apr 2019 14:37:55 +0000 (16:37 +0200)]
Fix T63256: Make Dupli Face was broken since there are collections

4 months agoFix T60891: bgl docs still include deprecated opengl functions
Jacques Lucke [Thu, 4 Apr 2019 14:11:14 +0000 (16:11 +0200)]
Fix T60891: bgl docs still include deprecated opengl functions

In a separate step, all new functions should be added.
However, the best way to do this, is not clear yet.
A list of functions, that have to be added is available
in D4280.

Differential Revision:

4 months agoFix T63252: Bind in Mesh Deform Modifier fails
Sergey Sharybin [Thu, 4 Apr 2019 12:42:33 +0000 (14:42 +0200)]
Fix T63252: Bind in Mesh Deform Modifier fails

A regression since 64c8d72ef1ad.

The solution is to force modifier evaluation for an evaluated
object, and let it to copy binding data back to original when
is being evaluated for binding.

Reviewers: brecht

Reviewed By: brecht

Differential Revision:

4 months agoFix T63276: crash deleting object with alembic constraint.
Brecht Van Lommel [Thu, 4 Apr 2019 13:07:37 +0000 (15:07 +0200)]
Fix T63276: crash deleting object with alembic constraint.

4 months agoFix ply import tests.
Howard Trickey [Thu, 4 Apr 2019 12:50:17 +0000 (08:50 -0400)]
Fix ply import tests.

The function for clearing out objects in the startup file
needed updating for 2.8 collections api.

4 months agoFix part of T62720: crash loading alembic mesh that has no vertices.
Brecht Van Lommel [Thu, 4 Apr 2019 12:26:47 +0000 (14:26 +0200)]
Fix part of T62720: crash loading alembic mesh that has no vertices.

4 months agoDRW: Fix hair count being limited by recent refactor
Clément Foucault [Thu, 4 Apr 2019 12:43:54 +0000 (14:43 +0200)]
DRW: Fix hair count being limited by recent refactor

This was making Autumn being half naked.

Issue was introduced by rBe72dc667c4d3

4 months agoEevee: Add property update for render settings
Clément Foucault [Thu, 4 Apr 2019 12:19:32 +0000 (14:19 +0200)]
Eevee: Add property update for render settings

This was preventing the viewport update when the properties were changed
via scripting.

4 months agoFix T63000: Don't use original file name for autosave
Jacques Lucke [Thu, 4 Apr 2019 12:38:18 +0000 (14:38 +0200)]
Fix T63000: Don't use original file name for autosave

Reviewers: brecht

Differential Revision:

4 months agoAvoid flow to avoid the collection textfield from becoming too small
Jeroen Bakker [Thu, 4 Apr 2019 12:01:29 +0000 (14:01 +0200)]
Avoid flow to avoid the collection textfield from becoming too small

The collection instance field is currently using flow.column(), which makes the name of the collection instance unreadably small. {F6898084}
I get that we want to save vertical space to avoid scrolling, but in this case it generates a new problem, so I'd rather avoid flow here.

Patch by sebastian_k

Reviewed By: billreynish

Differential Revision:

4 months agoFix T62870: progress in taskbar not updated when cancelling render
Brecht Van Lommel [Thu, 4 Apr 2019 11:46:04 +0000 (13:46 +0200)]
Fix T62870: progress in taskbar not updated when cancelling render

4 months agoFix: Erratic collision response when using constraints on colliders
Benjamin Meyer [Thu, 4 Apr 2019 08:39:12 +0000 (10:39 +0200)]
Fix: Erratic collision response when using constraints on colliders

Missing dependency, which made collission to access object transform
prior it was evaluated.

Reviewers: sergey

Differential Revision:

4 months agoCleanup: remove B-Bone shape pointers from bPoseChanDeform.
Alexander Gavrilov [Thu, 4 Apr 2019 08:18:40 +0000 (11:18 +0300)]
Cleanup: remove B-Bone shape pointers from bPoseChanDeform.

They are pointless copies from pchan->runtime by now.

4 months agoSeparation lines for Quad View
Harley Acheson [Wed, 3 Apr 2019 23:25:43 +0000 (01:25 +0200)]
Separation lines for Quad View

Reviewers: brecht, billreynish, fclem

Reviewed By: billreynish, fclem

Differential Revision:

4 months agoFix T63255: Crash when circle select performs selection outside the viewport's bounds.
mano-wii [Wed, 3 Apr 2019 23:05:59 +0000 (20:05 -0300)]
Fix T63255: Crash when circle select performs selection outside the viewport's bounds.

4 months agoFix T61870 Eevee: Object's go completely black if they have a normal map
Clément Foucault [Wed, 3 Apr 2019 22:51:03 +0000 (00:51 +0200)]
Fix T61870 Eevee: Object's go completely black if they have a normal map

The problem was that tangent layers (being computed on demand in the batch
cache generation) were generated but if MR_DATATYPE_LOOPTRI was not present
(in some cases) and the looptri_len was 0, leaving the CDATA layer cleared.

4 months agoDRW: Mesh Batch Cache: Fix error in loop custom data layer checking
Clément Foucault [Wed, 3 Apr 2019 21:46:32 +0000 (23:46 +0200)]
DRW: Mesh Batch Cache: Fix error in loop custom data layer checking

4 months agoCleanup: redundant casts
Campbell Barton [Wed, 3 Apr 2019 21:15:26 +0000 (08:15 +1100)]
Cleanup: redundant casts

4 months agoCleanup: style
Campbell Barton [Wed, 3 Apr 2019 21:13:13 +0000 (08:13 +1100)]
Cleanup: style

4 months agoFix T55589, T60967: Windows pen pressure issues at start/end of the stroke.
Christopher Peerman [Wed, 3 Apr 2019 14:36:28 +0000 (16:36 +0200)]
Fix T55589, T60967: Windows pen pressure issues at start/end of the stroke.

and the pointer API to process stylus events. This avoids the delays that comes
with the WM_MOUSE and WM_xBUTTON events. The implementation should work on
Windows 8, and Windows 10 with both legacy and new pen interaction.

It also changes how the pressure is reset when the Windows Ink implementation
is enabled. The previous version reset the pressure to full when the pen left
the screen, however for some hardware implementations this allowed a small
window where Blender may process the final move event and read the pressure
as full leaving a dot on the last event.

Differential Revision:

4 months agoWindows: use Wintab by default if it's available and a device is detected.
Brecht Van Lommel [Wed, 3 Apr 2019 15:09:54 +0000 (17:09 +0200)]
Windows: use Wintab by default if it's available and a device is detected.

Previously Automatic tablet API mode would handle both Windows Ink and
Wintab events. This is unpredictable and causes problems with the fix
coming in the next commit.

Instead assume that in most cases where Windows Ink is desired there
will be no Wintab. If that's not the case, it can be adjusted under
Preferences > Input > Tablet.

4 months agoFix T63257: Grease Pencil renders incorrectly when in edit-mode
Antonioya [Wed, 3 Apr 2019 17:58:32 +0000 (19:58 +0200)]
Fix T63257: Grease Pencil renders incorrectly when in edit-mode

4 months agoAudaspace: merging modulator effect from upstream.
Jörg Müller [Wed, 3 Apr 2019 17:56:25 +0000 (19:56 +0200)]
Audaspace: merging modulator effect from upstream.

4 months agofix for freetype download link and llvm/clang header harvesting
Martin Felke [Wed, 3 Apr 2019 16:51:42 +0000 (18:51 +0200)]
fix for freetype download link and llvm/clang header harvesting

4 months agoFix T62780 , T59802, T57648: fullscreen window issues on Windows.
Brecht Van Lommel [Wed, 3 Apr 2019 14:01:20 +0000 (16:01 +0200)]
Fix T62780 , T59802, T57648: fullscreen window issues on Windows.

This fixes popups and preferences appearing behind the main window, as
well as flickering artifacts when Blender is in fullscreen.

Patch contributed by phocomelus.

Differential Revision:

4 months agoUI: remove close button from Windows console window.
Harley Acheson [Wed, 3 Apr 2019 13:51:48 +0000 (15:51 +0200)]
UI: remove close button from Windows console window.

This way you can't accidentally close Blender when toggling the console
window to be visible. When Blender is started from the command promt the
close button remains.

Differential Revision:

4 months agoMultires: Make topology cache to work with copy-on-write
Sergey Sharybin [Wed, 3 Apr 2019 14:11:57 +0000 (16:11 +0200)]
Multires: Make topology cache to work with copy-on-write

Allows to preserve topology cache even when copy-on-write is
fully re-copying the object. For example, toggling edit mode
in and out does no longer causes full topology to be re-created.

4 months agoFix export_obj_cube test.
Howard Trickey [Wed, 3 Apr 2019 14:05:47 +0000 (10:05 -0400)]
Fix export_obj_cube test.

Verified that current export files for all_quads.blend are good,
then updated expected MD5 hash to match current files.

4 months agoReset background alpha for probe rendering.
Alexander Court [Wed, 3 Apr 2019 13:56:19 +0000 (15:56 +0200)]
Reset background alpha for probe rendering.
Possibly fixes T63005.

Reviewers: fclem

Reviewed By: fclem

Differential Revision:

4 months agoFix T63217: Curve Modifier skipped in Cycles
Sergey Sharybin [Wed, 3 Apr 2019 13:37:30 +0000 (15:37 +0200)]
Fix T63217: Curve Modifier skipped in Cycles

Only mesh objects have all modifiers applied on the evaluated
object's data, other object types are to apply modifiers during
the conversion process.

4 months agoFix T62939: Incorrect cursor position when exiting UI slider
Victor Seiji Hariki [Wed, 3 Apr 2019 13:14:57 +0000 (15:14 +0200)]
Fix T62939: Incorrect cursor position when exiting UI slider

Differential Revision:

4 months agoUI: Fix odd behavior in region sizing, simplify code
George Vogiatzis [Wed, 3 Apr 2019 12:53:57 +0000 (14:53 +0200)]
UI: Fix odd behavior in region sizing, simplify code

* When resizing sidebars, don't collapse when the region becomes too big but
  instead clamp the region size to the available space.
* Fix clicking the tab to expand sidebars no working if the sidebar is too
  wide to fit. Instead make it less wide so it does fit.
* Fix incorrect limit on tool properties region height, for example in the
  file browser.

Differential Revision:

4 months agodeps_builder : copy llvm headers to lib folder.
Ray Molenkamp [Wed, 3 Apr 2019 12:57:16 +0000 (06:57 -0600)]
deps_builder : copy llvm headers to lib folder.

Were not needed previously, but the functions branch needs them.

4 months agoFix T62817: Can't drive modifier property with another one
Sergey Sharybin [Wed, 3 Apr 2019 12:50:21 +0000 (14:50 +0200)]
Fix T62817: Can't drive modifier property with another one

Random place in the modifier stack can not be referenced,
so it doesn't make sense to sue GEOMETRY component as a
FROM operation.

So now drivers on modifiers are driving GEOMETRY component,
but are using PARAMETERS as a source for variables.

4 months agoGPencil: Implement custom channel color in Dopesheet
Antonioya [Wed, 3 Apr 2019 08:25:49 +0000 (10:25 +0200)]
GPencil: Implement custom channel color in Dopesheet

A new parameter in the layer adjustment panel allows to define the color of the channel in Dopesheet.

This is needed when there are a lot of layers.

See D4623 for more details.

4 months agoFix T63220: Cannot make object single user after Duplicate Scene with Link Object...
Bastien Montagne [Tue, 2 Apr 2019 19:50:17 +0000 (21:50 +0200)]
Fix T63220: Cannot make object single user after Duplicate Scene with Link Object Data.

Caused by own recent rB17c15798c35f33e (already a fix in that code).

We cannot erase immediately master_collection's childrn list, as it is
used in sub-code to check in how many scenes an object is instanciated.
Further more, we only want to do the remove old/add new children
collections in case we are actually duplicating them.

Makes me even more eager to nuke that whole piece of code and rethink
from scratch that kind of ID handling. Some day...

4 months agoPython API: expose text object kerning.
Damien Picard [Tue, 2 Apr 2019 17:11:03 +0000 (19:11 +0200)]
Python API: expose text object kerning.

Differential Revision:

4 months agoMerge branch 'blender2.7'
Sergey Sharybin [Tue, 2 Apr 2019 15:51:44 +0000 (17:51 +0200)]
Merge branch 'blender2.7'

4 months agoConstraints: Use RNA update instead of block update
Sergey Sharybin [Tue, 2 Apr 2019 15:44:18 +0000 (17:44 +0200)]
Constraints: Use RNA update instead of block update

Allows to have more control over which tags are done for which

This is a part of T62960 which fixes the issue in the 2.7 series.

4 months agoConstraints: Mark proxy lcoal as not editable
Sergey Sharybin [Tue, 2 Apr 2019 15:43:33 +0000 (17:43 +0200)]
Constraints: Mark proxy lcoal as not editable

This can not work reliably anyway.

4 months agoCleanup: Remove space at the end of description
Sergey Sharybin [Tue, 2 Apr 2019 15:42:30 +0000 (17:42 +0200)]
Cleanup: Remove space at the end of description

4 months agoFix T62434: EEVEE not using correct World Output node
Philipp Oeser [Tue, 2 Apr 2019 14:37:54 +0000 (16:37 +0200)]
Fix T62434: EEVEE not using correct World Output node

We were already getting the designated output node in
'ntreeGPUMaterialNodes()' but this wasnt used in 'ntreeExecGPUNodes()',
instead whatever node was tagged NODE_DO_OUTPUT was executed.

note: this is just the bare minimum to fix the bug, other improvements
previously done in D4482 might follow as a separate commit.

Reviewers: brecht, fclem

Maniphest Tasks: T62434

Differential Revision:

4 months agoCleanup: Fix compiler warning
Antonioya [Tue, 2 Apr 2019 15:02:10 +0000 (17:02 +0200)]
Cleanup: Fix compiler warning

4 months agoUI: Collapsed nodes have the same width as uncollapsed nodes
Robert Guetzkow [Tue, 2 Apr 2019 14:39:48 +0000 (16:39 +0200)]
UI: Collapsed nodes have the same width as uncollapsed nodes

Fixes T63079.

Differential Revision:

4 months agoFix Linux build error after recent changes.
Brecht Van Lommel [Tue, 2 Apr 2019 14:30:39 +0000 (16:30 +0200)]
Fix Linux build error after recent changes.

4 months agoCleanup: Scene Copy: remove scene's camera remapping in core func.
Bastien Montagne [Tue, 2 Apr 2019 14:20:56 +0000 (16:20 +0200)]
Cleanup: Scene Copy: remove scene's camera remapping in core func.

This is useless at that point, since no object has been duplicated yet...

4 months agoFix T62970: Scene Copy: remove 'linked objects/obdata', add 'linked collections'.
Bastien Montagne [Tue, 2 Apr 2019 14:15:17 +0000 (16:15 +0200)]
Fix T62970: Scene Copy: remove 'linked objects/obdata', add 'linked collections'.

'Linked objects' option was not behaving correctly before, effectively
linking in collections, so this one has been renamed to just 'Linked Copy',
and gives a fully shallow copy of current scene.

'Linked Obdata' was not really useful, kind of confusing, and was
painful to maintain, so dropping it now.

4 months agoFix broken BLI_STATIC_ASSERT on Visual Studio.
Brecht Van Lommel [Tue, 2 Apr 2019 13:49:07 +0000 (15:49 +0200)]
Fix broken BLI_STATIC_ASSERT on Visual Studio.

The old trick seems to no longer work in newer VS version.

4 months agoFix T63164: DNA size mismatches on 32bit, causing memory corruption and crashes.
Brecht Van Lommel [Tue, 2 Apr 2019 13:56:16 +0000 (15:56 +0200)]
Fix T63164: DNA size mismatches on 32bit, causing memory corruption and crashes.

Some alignment rules from Visual Studion on 32 bit are not taken into
account, this fixes the structs to confirm. We now have static asserts
to catch when such breakage happens in the future.

4 months agoFix T63219: error in previous commit for makesdna mismatch detection
Brecht Van Lommel [Tue, 2 Apr 2019 11:34:53 +0000 (13:34 +0200)]
Fix T63219: error in previous commit for makesdna mismatch detection

4 months agoDNA: add error for DNA computed struct sizes and member offsets mismatch.
Brecht Van Lommel [Tue, 2 Apr 2019 10:32:21 +0000 (12:32 +0200)]
DNA: add error for DNA computed struct sizes and member offsets mismatch.

Ref T63164, there was a hidden bug like this on Windows 32 bit.

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

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

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

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

4 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

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

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

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

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

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

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

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

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

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

4 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

4 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).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

4 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

4 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

4 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

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

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

4 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

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