blender.git
2 months agoFix T67588: Crash after clearing animation in outliner
Sergey Sharybin [Thu, 25 Jul 2019 07:46:27 +0000 (09:46 +0200)]
Fix T67588: Crash after clearing animation in outliner

2 months agoFix app-template keymap preferences being ignored
Campbell Barton [Thu, 25 Jul 2019 07:39:32 +0000 (17:39 +1000)]
Fix app-template keymap preferences being ignored

2 months agoFix app-template keymap being ignored
Campbell Barton [Thu, 25 Jul 2019 06:31:02 +0000 (16:31 +1000)]
Fix app-template keymap being ignored

2 months agoUI: clarify tip for viewport mouse position property
Campbell Barton [Thu, 25 Jul 2019 03:41:38 +0000 (13:41 +1000)]
UI: clarify tip for viewport mouse position property

This is an hidden property only visible in the keymap editor.

Addresses T67589

2 months agoFix T67603: Selecting toolbar from search raises error
Campbell Barton [Thu, 25 Jul 2019 03:35:01 +0000 (13:35 +1000)]
Fix T67603: Selecting toolbar from search raises error

2 months agoFix crash validating mesh polygons with invalid loop-start
Campbell Barton [Thu, 25 Jul 2019 03:23:05 +0000 (13:23 +1000)]
Fix crash validating mesh polygons with invalid loop-start

Add check for negative loop-start,
fixes crash validating test file from T67605.

2 months agoDoxygen: update version number
Campbell Barton [Thu, 25 Jul 2019 03:08:44 +0000 (13:08 +1000)]
Doxygen: update version number

2 months agoFix T67472: Gizmo overlap causes cursor to get stuck
Campbell Barton [Thu, 25 Jul 2019 00:53:04 +0000 (10:53 +1000)]
Fix T67472: Gizmo overlap causes cursor to get stuck

2 months agoFix background image rotation and offset
Campbell Barton [Wed, 24 Jul 2019 12:30:31 +0000 (22:30 +1000)]
Fix background image rotation and offset

- Offset was halved & not compensating for non-square aspect.
- Rotation was flipped.

2 months agoFix T67548: Camera background-image ignores shift
Campbell Barton [Wed, 24 Jul 2019 10:42:39 +0000 (20:42 +1000)]
Fix T67548: Camera background-image ignores shift

Regression from 2.79

2 months agoFix T65980: Boolean crash with many intersections on a single face
Campbell Barton [Wed, 24 Jul 2019 09:24:50 +0000 (19:24 +1000)]
Fix T65980: Boolean crash with many intersections on a single face

2 months agoFix T67117: Font thumbnails crash to desktop
Sebastian Parborg [Wed, 24 Jul 2019 09:26:21 +0000 (11:26 +0200)]
Fix T67117: Font thumbnails crash to desktop

We were missing a null pointer check for invalid fonts.

2 months agoFix T67315: Redo transform disables snap
Campbell Barton [Wed, 24 Jul 2019 07:07:55 +0000 (17:07 +1000)]
Fix T67315: Redo transform disables snap

2 months agoFix T66768: Grid fill span not working
Campbell Barton [Wed, 24 Jul 2019 06:32:15 +0000 (16:32 +1000)]
Fix T66768: Grid fill span not working

2 months agoFix T67459: Dope Editor, muting channels with shortcut doesn't work
Sergey Sharybin [Tue, 23 Jul 2019 13:52:39 +0000 (15:52 +0200)]
Fix T67459: Dope Editor, muting channels with shortcut doesn't work

2 months agoTracking: Give more reasonable error message directly in the interface
Sergey Sharybin [Tue, 23 Jul 2019 13:09:30 +0000 (15:09 +0200)]
Tracking: Give more reasonable error message directly in the interface

Before this the message could be too generic which was simply saying
that console is to be checked. This isn't very useful in cases when
we know that reconstruction is failed because of lack of good keyframes
or failure of initial reconstruction if there is no enough parallax
on the selected keyframes.

2 months agoFix T67089: Solve camera motion generates "Solve error: nan"
Sergey Sharybin [Tue, 23 Jul 2019 12:50:50 +0000 (14:50 +0200)]
Fix T67089: Solve camera motion generates "Solve error: nan"

The code was missing some checks for whether keyframe selection
went successfully and whether reconstruction has been successfully
initialized.

The interface still gives quite generic message, with the details
printed to the console. This can be addressed separately.

2 months agofix: unreported: Collada using incompatible Enumeration types for compare
Gaia Clary [Tue, 23 Jul 2019 13:08:47 +0000 (15:08 +0200)]
fix: unreported: Collada using incompatible Enumeration types for compare

2 months agoFix T67334: Blender does not exit after saving
Jacques Lucke [Tue, 23 Jul 2019 12:32:32 +0000 (14:32 +0200)]
Fix T67334: Blender does not exit after saving

2 months agoFix T65386 Eevee: Crash after baking indirect lights or cubemap
Clément Foucault [Tue, 23 Jul 2019 11:20:00 +0000 (13:20 +0200)]
Fix T65386 Eevee: Crash after baking indirect lights or cubemap

I'm not sure this fixes the root of the problem. The file from the ticket
seems to have been corrupted in some way.

We MIGHT want this in 2.80.

2 months agoCleanup: Rearrange the order of isect_ray_ray_v3 parameters
mano-wii [Tue, 23 Jul 2019 11:11:46 +0000 (08:11 -0300)]
Cleanup: Rearrange the order of isect_ray_ray_v3 parameters

And remove redundant add operation.

2 months agoFix T67299: UV Stretching Overlay of type "Area" fail when any face is hidden
mano-wii [Tue, 23 Jul 2019 10:51:16 +0000 (07:51 -0300)]
Fix T67299: UV Stretching Overlay of type "Area" fail when any face is hidden

We want to include this for 2.80

2 months agoFix T65402: Syntax error causes CPython assert
matc [Tue, 23 Jul 2019 10:29:11 +0000 (20:29 +1000)]
Fix T65402: Syntax error causes CPython assert

2 months agoFix T67450: Crash undoing edit-mode lattice resolution
Campbell Barton [Tue, 23 Jul 2019 07:25:28 +0000 (17:25 +1000)]
Fix T67450: Crash undoing edit-mode lattice resolution

2 months agoFix T63775: Toolbar icons ignore BLENDER_SYSTEM_DATAFILES
Campbell Barton [Tue, 23 Jul 2019 06:23:56 +0000 (16:23 +1000)]
Fix T63775: Toolbar icons ignore BLENDER_SYSTEM_DATAFILES

The environment variable to locate system data-files was
ignored by toolbar icons.

Add bpy.utils.system_resource
to match Blender's internal data-file access.

2 months agoFix T67389: Transform constraints fail at large distances
mano-wii [Tue, 23 Jul 2019 04:50:59 +0000 (14:50 +1000)]
Fix T67389: Transform constraints fail at large distances

2 months agoFix T67040: Undo crashes after renaming
Campbell Barton [Tue, 23 Jul 2019 02:54:40 +0000 (12:54 +1000)]
Fix T67040: Undo crashes after renaming

Correct fix that doesn't cause T67217.

Temporarily removing the excluded undo step broke memfile-undo
since freeing the undo steps needs to access other steps in
the list to merge shared chunks, see: memfile_undosys_step_free.

Pass the exclude step as an argument instead.

2 months agoIncompatible usage of the Collada transparency value
Gaia Clary [Mon, 22 Jul 2019 16:57:44 +0000 (18:57 +0200)]
Incompatible usage of the Collada transparency value

Some external tools seem to have issues with the definition
of Collada <transparency> - a float value in range (0,1).
However it is possible to use the <transparent> color as a container
for the <transparency> value. This seems to be a more reliable
method to export transparency values from Blender PBSDF Shaders.

The relevant documentation is in the collada 1.14 reference manual,
page 7-5 about the usage of transparent and transparency.

This fix makes export and import of the <transparency>
and <transparent> values more convenient and more reliable.

Reviewers: brecht, jesterking

Reviewed By: brecht

Differential Revision: https://developer.blender.org/D5305

2 months agoFix missing subversion bump for 2.80 release.
Bastien Montagne [Mon, 22 Jul 2019 16:44:22 +0000 (18:44 +0200)]
Fix missing subversion bump for 2.80 release.

We need a final subversion bump before release in case there are
remaining 'unversioned' code in our versionning callbacks...

Should have been done before first RC actually. ;)

To be ported to 2.80 release branch.

2 months agoBevel modifier: let it work on wire edges when vertex_only.
Howard Trickey [Mon, 22 Jul 2019 11:13:04 +0000 (07:13 -0400)]
Bevel modifier: let it work on wire edges when vertex_only.

2 months agofix unreported: typo in python documentation
Gaia Clary [Mon, 22 Jul 2019 09:43:07 +0000 (11:43 +0200)]
fix unreported: typo in python documentation

Fix as approved by dr.sybren in blender chat

2 months agoRevert "Fix T67040: Undo crashes after renaming"
Brecht Van Lommel [Sun, 21 Jul 2019 10:59:36 +0000 (12:59 +0200)]
Revert "Fix T67040: Undo crashes after renaming"

This reverts commit c635663e4a8169f68010b9234fa60f17ad03d7cb. This is causing
crashes with sculpt mode and object mode switching.

Fixes T67217.

2 months agoIndustry Compat keymap: Fix inconsistencies and conflicts with color swatches and...
William Reynish [Sat, 20 Jul 2019 12:45:27 +0000 (14:45 +0200)]
Industry Compat keymap: Fix inconsistencies and conflicts with color swatches and other over-widget hotkeys

Sample hotkey is set to the I key now, similar to other apps.

Reported on Devtalk

2 months agoFix T67196: bevel bad at a 3-edge bevel.
Howard Trickey [Sat, 20 Jul 2019 12:38:41 +0000 (08:38 -0400)]
Fix T67196: bevel bad at a 3-edge bevel.

The test for whether or not this was a "pipe" neglected to use
fabsf() around a dot result.

2 months agoFix assert in some cases when using DataTransfer modifier for custom normals.
Bastien Montagne [Fri, 19 Jul 2019 14:10:20 +0000 (16:10 +0200)]
Fix assert in some cases when using DataTransfer modifier for custom normals.

Reported by @sybren on IRC, thanks.

Should be safe for 2.80.

2 months agoGPencil: Fix wrong material when apply Opacity, Hue or Tint modifier
Antonioya [Thu, 18 Jul 2019 16:07:56 +0000 (18:07 +0200)]
GPencil: Fix wrong material when apply Opacity, Hue or Tint modifier

When apply the modifier a new material is created, but it was assigned wrongly. The problem was the index was base 0 already, so subtract 1, got a wrong value.

2 months agoGPencil: Fix showing wrong material in brush panel with pinning
Antonioya [Thu, 18 Jul 2019 17:52:52 +0000 (19:52 +0200)]
GPencil: Fix showing wrong material in brush panel with pinning

The options of the material are from object material not pinned material.

If the brush is pinned, the material must be the brush material and not the object material.

2 months agoFix T67033 EEVEE: Random Flickering Materials
Clément Foucault [Fri, 19 Jul 2019 12:38:03 +0000 (14:38 +0200)]
Fix T67033 EEVEE: Random Flickering Materials

This was a read after free error. This only fix the undefined behavior.
The result is still not correct in certain cases (see T67226).

We want to include this for 2.80

2 months agoFix new Text ID usercount handling in add/load cases.
Bastien Montagne [Fri, 19 Jul 2019 11:53:53 +0000 (13:53 +0200)]
Fix new Text ID usercount handling in add/load cases.

Text datablocks should always have a 'single user' flag set, and they
usually do not have any user (since neither text editor itself, nor
Freestyle usage are text users - the second is odd btw...), the only one
am aware of is the script node (e.g. for OSL).

Add text case was simply not doing anything, so added.

Load text case was doing things in inversed logic (setting user count to
zero in BKE, then setting 'real user' flag in ED code). Made it the
other way around (BKE ID creation code should not care about usercount
usually, this is up to higher-level code to decide what to do
(operators, RNA...).

Note: tried to check all cases, but there might very well be some more
hidden bugs here...

2 months agoRevert "Fix assert unlinking text"
Bastien Montagne [Fri, 19 Jul 2019 09:10:53 +0000 (11:10 +0200)]
Revert "Fix assert unlinking text"

This reverts commit b0b2546d4a3a308da19d218d919915aac4834e59.

Please do not sweept the dirt under the carpet like that! If there is a
bug, either report it or fix it, but do not silence it!

2 months agoCleanup messed-up comment formating from codestyle apply...
Bastien Montagne [Thu, 18 Jul 2019 13:26:45 +0000 (15:26 +0200)]
Cleanup messed-up comment formating from codestyle apply...

2 months agoFix T67191: Redo fails for 3D text operations
Campbell Barton [Fri, 19 Jul 2019 09:19:36 +0000 (19:19 +1000)]
Fix T67191: Redo fails for 3D text operations

2 months agoFix T63090: Delete keyframe reports invalid for multiple objects
Campbell Barton [Fri, 19 Jul 2019 08:43:12 +0000 (18:43 +1000)]
Fix T63090: Delete keyframe reports invalid for multiple objects

2 months agoDRW: lattice vertices were too small
Campbell Barton [Fri, 19 Jul 2019 00:44:09 +0000 (10:44 +1000)]
DRW: lattice vertices were too small

2 months agoFix T66492: Divide by zero with cursor to selected
Sebastian Parborg [Fri, 19 Jul 2019 00:31:18 +0000 (10:31 +1000)]
Fix T66492: Divide by zero with cursor to selected

2 months agoCMake: Fix WITH_CODEC_SNDFILE detection
Campbell Barton [Thu, 18 Jul 2019 23:14:15 +0000 (09:14 +1000)]
CMake: Fix WITH_CODEC_SNDFILE detection

D5296 by @frispete

2 months agoFix T67062: Movie Clip Editor does not update Editor Type when changing Editing Context
Sebastian Parborg [Thu, 18 Jul 2019 13:25:37 +0000 (15:25 +0200)]
Fix T67062: Movie Clip Editor does not update Editor Type when changing Editing Context

Previously when switching modes, the code didn't check if we were in the
correct view for the masking mode.

Reviewed By: Sergey

Differential Revision: http://developer.blender.org/D5288

2 months agoFix context menu Remove Shortcut not being available for non-keyboard shortcuts
Brecht Van Lommel [Thu, 18 Jul 2019 12:13:20 +0000 (14:13 +0200)]
Fix context menu Remove Shortcut not being available for non-keyboard shortcuts

2 months agoDisable b-bone spline gizmo for now
Campbell Barton [Thu, 18 Jul 2019 12:03:04 +0000 (22:03 +1000)]
Disable b-bone spline gizmo for now

This wasn't working properly and needs to be finished,
disable for release.

2 months agoFix T66811 Eevee: Flickering in weight paint mode
Clément Foucault [Thu, 18 Jul 2019 10:55:11 +0000 (12:55 +0200)]
Fix T66811 Eevee: Flickering in weight paint mode

This was caused by TAA offset being computed as the 2nd sample even if the
sampling was reset afterwards.

The fix is to update the matrices after any potential reset.

2 months agoKeymap: use number keys to change particle modes
Campbell Barton [Thu, 18 Jul 2019 10:22:15 +0000 (20:22 +1000)]
Keymap: use number keys to change particle modes

Match behavior for meshes.

Fixes T67161

2 months agoFix edit-mode particle vertex draw size
Campbell Barton [Thu, 18 Jul 2019 10:11:18 +0000 (20:11 +1000)]
Fix edit-mode particle vertex draw size

Vertices were hard to see, draw the same size as edit-mesh vertices.

2 months agoFix T58447: Unselected bone used for constraint target
Campbell Barton [Thu, 18 Jul 2019 08:45:56 +0000 (18:45 +1000)]
Fix T58447: Unselected bone used for constraint target

2 months agoCleanup: remove redundant preference check
Campbell Barton [Thu, 18 Jul 2019 06:48:19 +0000 (16:48 +1000)]
Cleanup: remove redundant preference check

Missing from f2df5206987f6, harmless but confusing to leave
in checks for preferences having asked to skip them.

2 months agoFix T67105: Missing Update Add Camera Background Image
Jeroen Bakker [Wed, 17 Jul 2019 14:36:44 +0000 (16:36 +0200)]
Fix T67105: Missing Update Add Camera Background Image

Reviewed By: brecht, sergey

Differential Revision: https://developer.blender.org/D5284

2 months agoFix T66949: Can't select bones from multiple objects in wpaint mode
Campbell Barton [Thu, 18 Jul 2019 04:18:43 +0000 (14:18 +1000)]
Fix T66949: Can't select bones from multiple objects in wpaint mode

This fix relies on 2.7x logic, only de-selecting other armature objects,
making multiple armatures in weight paint mode usable.

2 months agoFix weight-paint & pose-select & lock-mode combination
Campbell Barton [Thu, 18 Jul 2019 05:31:04 +0000 (15:31 +1000)]
Fix weight-paint & pose-select & lock-mode combination

Extend pose object checks to all pose-mode objects
used by the mesh.

2 months agoFix weight paint mode setting with multiple armatures
Campbell Barton [Thu, 18 Jul 2019 05:03:02 +0000 (15:03 +1000)]
Fix weight paint mode setting with multiple armatures

Selecting multiple armature objects and entering weight paint mode
wasn't working.

Entering weight + pose modes at once was only done when
object mode locking was enabled. Now it's done even when
mode-locking is off - because it's still inconvenient to setup
and useful default behavior.

Resolves issues raised by T66949

2 months agoFix T61117: Selecting an armature doesn't select the bone
Campbell Barton [Thu, 18 Jul 2019 03:10:17 +0000 (13:10 +1000)]
Fix T61117: Selecting an armature doesn't select the bone

Regression from 2.7x caused by 28dfc47cf0b06

2 months agoFix pose de-selection when selecting from object mode
Campbell Barton [Thu, 18 Jul 2019 03:21:33 +0000 (13:21 +1000)]
Fix pose de-selection when selecting from object mode

2 months agoRevert "Fix T66949: Can't select bones from multiple objects in wpaint mode"
Campbell Barton [Thu, 18 Jul 2019 02:22:32 +0000 (12:22 +1000)]
Revert "Fix T66949: Can't select bones from multiple objects in wpaint mode"

This reverts commit 9e9fbb39d7f9e0a63c71fbc96237ace62fae0db6.

Adding back object+pose bone selection support removes the need for this fix.

2 months agoFix T66948: Outliner - collections/objects with wrong active state
Dalai Felinto [Tue, 16 Jul 2019 21:05:43 +0000 (18:05 -0300)]
Fix T66948: Outliner - collections/objects with wrong active state

If the parent collection was out of view we were not taking its
properties into consideration. We need it even when not drawing the
parent to set active/inactive values for its children.

Related Task: T66948

Reviewers: brecht

Subscribers: Zachman

Differential Revision: https://developer.blender.org/D5272

2 months agoFix T64312: Selection inconsistencies when switching collections
Dalai Felinto [Fri, 12 Jul 2019 15:51:54 +0000 (12:51 -0300)]
Fix T64312: Selection inconsistencies when switching collections

Basically layer_collection_sync was calling BKE_base_eval_flags right away while
iterating over the bases.

However when a parent/sibling collection is to influence the collection flag of
an object that exists in more than one collection, it is too late since we
deselect the object in BKE_base_eval_flags right away.

Related to T64312.

Reviewers: sergey, brecht

Differential Revision: https://developer.blender.org/D5243

2 months agoGPencil: Fix usability problem with curve control points apart
Charlie Jolly [Wed, 17 Jul 2019 16:08:55 +0000 (17:08 +0100)]
GPencil: Fix usability problem with curve control points apart

Based on feedback from @matiasmendio

There was a problem with the control points because it was very difficult to know what point move. Now the points are moved apart and makes easy to know what point use.

2 months agoFix T66515, T67112, T61607: failure to read EXR files with single, named layer
Brecht Van Lommel [Wed, 17 Jul 2019 18:46:04 +0000 (20:46 +0200)]
Fix T66515, T67112, T61607: failure to read EXR files with single, named layer

Like Blender renders without a Z channel. The single layer case assume that channel
names are just R/G/B/A without any layer name prefix, and would not read channels
like "Image.R".

Carefully tested for regressions with the openexr project tests images, so this
should be safe.

2 months agoFix T59713: Armature layer dots not updated on changes
mano-wii [Wed, 17 Jul 2019 17:17:16 +0000 (14:17 -0300)]
Fix T59713: Armature layer dots not updated on changes

`layer_used` runtime data, which controls the drawing of dots in the UI was not getting refreshed properly.
This used to happen in the drawing code, but was no longer working for reasons explained in:
{rB2b09062defa093a243b5fe64b099accb07b440a3}

The solution was to update each layer manually in the operators:
* ARMATURE_OT_bone_primitive_add
* ARMATURE_OT_delete
* ARMATURE_OT_dissolve
* ARMATURE_OT_fill
* ARMATURE_OT_merge
* ARMATURE_OT_separate
* ARMATURE_OT_bone_layers
* POSE_OT_bone_layers

Differential Revision: https://developer.blender.org/D5281

2 months agoFix T66919: Force field does not affect particles
Sergey Sharybin [Wed, 17 Jul 2019 09:40:02 +0000 (11:40 +0200)]
Fix T66919: Force field does not affect particles

Reviewers: brecht

Reviewed By: brecht

Maniphest Tasks: T66919

Differential Revision: https://developer.blender.org/D5275

2 months agoFix T67075: make object.visible_get() and similar APIs more forgiving
Brecht Van Lommel [Wed, 17 Jul 2019 12:41:50 +0000 (14:41 +0200)]
Fix T67075: make object.visible_get() and similar APIs more forgiving

When objects are not in the view layer, just return false rather than throwing
an error. As far as the script is concerned the object is not visible or
selected when it's not in the current view layer.

2 months agoFix T66091: paint curve point slide conflicts with 2D cursor
Brecht Van Lommel [Wed, 17 Jul 2019 12:30:29 +0000 (14:30 +0200)]
Fix T66091: paint curve point slide conflicts with 2D cursor

2 months agoFix T67099: entering color picker hex value #FF results in 1.000001
Brecht Van Lommel [Wed, 17 Jul 2019 12:11:50 +0000 (14:11 +0200)]
Fix T67099: entering color picker hex value #FF results in 1.000001

2 months agoFix T67127: Crash Missing DEG tag update mask layer
Jeroen Bakker [Wed, 17 Jul 2019 14:06:44 +0000 (16:06 +0200)]
Fix T67127: Crash Missing DEG tag update mask layer

When ng mask layer operations (add, remove, move) the
original mask was not tagged to be updated resulting
in missing data on the copy. The Masking function
assumes that the copy and the original is always
structured the same.

Reviewed By: brecht, sergey

Differential Revision: https://developer.blender.org/D5283

2 months agoClip editor: Fix missing frame update on undo
Sergey Sharybin [Wed, 17 Jul 2019 12:42:02 +0000 (14:42 +0200)]
Clip editor: Fix missing frame update on undo

It is possible that undo will change current scene frame and that was
not synchronizing current frame from scene to movie clip user.

Reported as a part of T66519.

Reviewers: brecht

Reviewed By: brecht

Maniphest Tasks: T66519

Differential Revision: https://developer.blender.org/D5280

2 months agoRevert "Fix T59713: Moving bones between layers in edit mode doesn't show the dot...
mano-wii [Wed, 17 Jul 2019 13:32:50 +0000 (10:32 -0300)]
Revert "Fix T59713: Moving bones between layers in edit mode doesn't show the dot icon in the layers UI"

This commit did not follow the protocol that requires a review first.

This reverts commit 580acab1737c726f43e39792dbb75f3ca2089fcb.

2 months agoFix T59713: Moving bones between layers in edit mode doesn't show the dot icon in...
mano-wii [Wed, 17 Jul 2019 13:16:17 +0000 (10:16 -0300)]
Fix T59713: Moving bones between layers in edit mode doesn't show the dot icon in the layers UI

2 months agoFix T67001: Studio and Flat lightning in single color do not respect clipping region
mano-wii [Wed, 17 Jul 2019 11:51:01 +0000 (08:51 -0300)]
Fix T67001: Studio and Flat lightning in single color do not respect clipping region

`DRW_STATE_CLIP_PLANES` has to be enabled independent of the workbench material.

Reviewers: fclem, jbakker

Differential Revision: https://developer.blender.org/D5278

2 months agoFix T67115: Changing the Shape of a Force Field object does not refresh the animation
mano-wii [Wed, 17 Jul 2019 11:30:24 +0000 (08:30 -0300)]
Fix T67115: Changing the Shape of a Force Field object does not refresh the animation

2 months agoUndo System: replace with simpler binary diffing buffer storage
Campbell Barton [Thu, 11 Jul 2019 05:25:52 +0000 (15:25 +1000)]
Undo System: replace with simpler binary diffing buffer storage

Applying/undoing incremental changes didn't fit well when
mixed with periodic snapshots from mem-file undo.

This moves to a much simpler undo system.

- Uses array storage with de-duplication from `BLI_array_store`.
- Loads the buffer into existing text data,
  for better performance on large files.
- Has the advantage that Python operators can be supported
  since we don't depend on hard coded undo operations.

Solves T67045, T66695, T65909.

2 months agoFix T66949: Can't select bones from multiple objects in wpaint mode
Campbell Barton [Wed, 17 Jul 2019 08:28:32 +0000 (18:28 +1000)]
Fix T66949: Can't select bones from multiple objects in wpaint mode

2 months agoFix T67047: Can't jump to frame when using jack in A/V sync mode
Sergey Sharybin [Tue, 16 Jul 2019 12:47:43 +0000 (14:47 +0200)]
Fix T67047: Can't jump to frame when using jack in A/V sync mode

Similar fix to 495aff7.

Reviewers: brecht

Reviewed By: brecht

Maniphest Tasks: T67047

Differential Revision: https://developer.blender.org/D5268

2 months agoFix object selection when in pose mode
Campbell Barton [Wed, 17 Jul 2019 06:57:45 +0000 (16:57 +1000)]
Fix object selection when in pose mode

The new selected object was activated but not selected.

3 months agoEdge Slide: Fix multi-object for loop early exit
Dalai Felinto [Wed, 17 Jul 2019 01:52:37 +0000 (22:52 -0300)]
Edge Slide: Fix multi-object for loop early exit

Part of D5274, reviewed by Campbell Barton.

3 months agoFix T67078: Crash with vertex slide and multi-objects
Dalai Felinto [Wed, 17 Jul 2019 01:23:43 +0000 (22:23 -0300)]
Fix T67078: Crash with vertex slide and multi-objects

If one of the objects had invalid selected edges, it would lead to a
crash since none of the for loops were checking for whether the edge
slide data is valid.

We could refactor the macros to create a new
FOREACH_TRANS_DATA_CONTAINER_WITH_DATA

However we are too close to 2.80 final release so we manually skip them
for now.

Note: TRANS_DATA_CONTAINER_FIRST_OK cannot be used either for the same
reason.

Reviewers: campbellbarton

Differential Revision: https://developer.blender.org/D5274

3 months agoUI: remove button to enable auto-save after load factory preferences
Campbell Barton [Tue, 16 Jul 2019 23:29:28 +0000 (09:29 +1000)]
UI: remove button to enable auto-save after load factory preferences

Based on feedback from T66675, the current interface is confusing,
leading to users accidentally overwriting their preferences.

Now, once factory settings are loaded preferences are not saved
and the save button is shown (as when auto-save is disabled).

Tool tips note that factory settings require manual saving
afterwards.

Also rename preference menu items for better consistency
(settings/state -> preferences).

3 months agoFix paint curve not drawing selection colors properly
Brecht Van Lommel [Tue, 16 Jul 2019 18:31:23 +0000 (20:31 +0200)]
Fix paint curve not drawing selection colors properly

This code is not guaranteed to run with any specific space theme, so pass
it explicitly.

3 months agoFix T66964: sculpting box hide tool can't select multiple areas
Brecht Van Lommel [Tue, 16 Jul 2019 16:30:33 +0000 (18:30 +0200)]
Fix T66964: sculpting box hide tool can't select multiple areas

Only deselect all on mouse release when no box dragging was done.

3 months agoFix T66862: crash with bevel modifier harden normals applied to curve object
Brecht Van Lommel [Tue, 16 Jul 2019 16:00:57 +0000 (18:00 +0200)]
Fix T66862: crash with bevel modifier harden normals applied to curve object

3 months agoFix T66011: Transformed objects break sculpt tools
Antonioya [Tue, 16 Jul 2019 15:55:42 +0000 (17:55 +0200)]
Fix T66011: Transformed objects break sculpt tools

The Pinch, Push, Twist and Clone were not using the object transformation to compute point changes, so the point was way off of the right place.

3 months agoFix T66940, T67005, T60651: append workspace from old startup file fails
Brecht Van Lommel [Tue, 16 Jul 2019 14:06:50 +0000 (16:06 +0200)]
Fix T66940, T67005, T60651: append workspace from old startup file fails

Don't try to use old screens as workspaces, just leave them out of the menu.

Differential Revision: https://developer.blender.org/D5270

3 months agoFix T66862: crash with mirror modifier applied to curve object
Brecht Van Lommel [Tue, 16 Jul 2019 15:36:46 +0000 (17:36 +0200)]
Fix T66862: crash with mirror modifier applied to curve object

3 months agoFix T66999: Blender creates new cache for particles with step 10 instead 1
Sebastian Parborg [Tue, 16 Jul 2019 15:29:48 +0000 (17:29 +0200)]
Fix T66999: Blender creates new cache for particles with step 10 instead 1

Update the default init step values to be the same for all caches.
This is actually a small hack as these values are not used on the
creation of the first cache. But the default init value is 1, so this
will not be noticeable anymore.

Reviewed By: Brecht

Differential Revision: http://developer.blender.org/D5271

3 months agoFix T66944: Rigid Body Constraint in duplicated collection is not added to RigidBodyC...
Bastien Montagne [Tue, 16 Jul 2019 14:04:22 +0000 (16:04 +0200)]
Fix T66944: Rigid Body Constraint in duplicated collection is not added to RigidBodyConstraints collection.

We only had a very limited, specific handling of that in collection
duplication code, but this has to be handled at a much more general
level in Object copy code itself, since it makes no sense to duplicate
rigidbody object data without adding new copy to relevant rigidbody
collections...

WARNING: This is a fairly risky rework of rigidbody handling logic
when copying an Object data-block. It is *NOT* considered safe enough
for 2.80 release.

I tried to take into account copy flags to not mess with other IDs
(collections) when we are copying outside of Main, and also not do deg
tags when this is forbidden, but risk of something going wrong here is
too high...

3 months agoFixed crash when adding/removing custom normals from pinned mesh
Sybren A. Stüvel [Tue, 16 Jul 2019 13:06:25 +0000 (15:06 +0200)]
Fixed crash when adding/removing custom normals from pinned mesh

When a mesh is pinned in the properties panel, Blender crashes when you
click the "Add Custom Split Normals Data".

The code calls `ob = ED_object_context(C)` which returns NULL when the
mesh is pinned in the properties panel, causing a segfault when trying
to get the mesh via `ob->data`.

A new function `ED_mesh_context(C)` avoids this by first checking
whether a mesh was pinned in the context. If not, it checks the pinned
object's data. If that's not there, or it's not a mesh, it returns the
active object's mesh. Finally it returns NULL if there is no active
object, or if the active object is not a mesh object.

Reviewed By: brecht, mont29

Differential Revision: https://developer.blender.org/D5223

3 months agofix T66899: Collada: Shininess/Reflectivity not handled correct
Gaia Clary [Mon, 15 Jul 2019 15:12:52 +0000 (17:12 +0200)]
fix T66899: Collada: Shininess/Reflectivity not handled correct

Fixed: The Collada Exporter only supports export of
Lambert Shaders. But Shininess is not supported with
Lambert Shaders. The exporter must not add Shininess
to the Shader data!

Fixed: The Collada Importer adds an illegal value of -1
for reflectivity when this parameters is not defined in
the imported collada data. Now reflectivity is only
set when the import data contains a valid value.

Discarded: The Collada Importer handles shininess in a
dubious way. I have discarded import for now.
This needs to be reworked carefully in 2.81.

Differential Revision: https://developer.blender.org/D5262

3 months agoFix T66742: Frame selected last weightpaint/vertexpaint stroke not
Philipp Oeser [Mon, 15 Jul 2019 21:35:11 +0000 (23:35 +0200)]
Fix T66742: Frame selected last weightpaint/vertexpaint stroke not
working

Mouse values [for 'paint_last_stroke_update()'] gone missing in
rB4f616c93f7cb.

Thx @campbellbarton for hinting at convention to get mouse from sculpt
caches.

Reviewers: campbellbarton

Maniphest Tasks: T66742

Differential Revision: https://developer.blender.org/D5267

3 months agoFix T66835: Dynamic Paint weight group isn't updated unless weight has been assigned
Sebastian Parborg [Tue, 16 Jul 2019 09:42:03 +0000 (11:42 +0200)]
Fix T66835: Dynamic Paint weight group isn't updated unless weight has been assigned

The dvert layer was not assigned to the mesh data if it had to be
created by the dpaint modifier.

Reviewed By: Brecht

Differential Revision: http://developer.blender.org/D5263

3 months agoFix error in app-template image size check
Campbell Barton [Tue, 16 Jul 2019 09:40:23 +0000 (19:40 +1000)]
Fix error in app-template image size check

3 months agoFix assert unlinking text
Campbell Barton [Tue, 16 Jul 2019 07:27:53 +0000 (17:27 +1000)]
Fix assert unlinking text

Interferes with debugging.

3 months agoFix T67040: Undo crashes after renaming
Campbell Barton [Tue, 16 Jul 2019 07:14:19 +0000 (17:14 +1000)]
Fix T67040: Undo crashes after renaming

Caused by error keeping the first memfile undo step.

3 months agoCleanup: typos in comments
Campbell Barton [Tue, 16 Jul 2019 06:57:54 +0000 (16:57 +1000)]
Cleanup: typos in comments

3 months agoFix typo in background_job template
Campbell Barton [Tue, 16 Jul 2019 06:56:25 +0000 (16:56 +1000)]
Fix typo in background_job template

D5264 by @dimtion