9 months agoCleanup: pass lattice directly vertex coord utilities
Campbell Barton [Wed, 21 Aug 2019 05:04:41 +0000 (15:04 +1000)]
Cleanup: pass lattice directly vertex coord utilities

9 months agoFix T68444: outliner bone visibility not updating
Nathan Craddock [Wed, 21 Aug 2019 04:30:32 +0000 (22:30 -0600)]
Fix T68444: outliner bone visibility not updating

Tags for update when pose bone visibility is toggled in the outliner.

9 months agoFix T68429: wrong pose bone hide icon in outliner
Nathan Craddock [Wed, 21 Aug 2019 04:08:51 +0000 (22:08 -0600)]
Fix T68429: wrong pose bone hide icon in outliner

The hide icon was drawing instead of the disable in viewports icon.

9 months agoCleanup: use const arguments for vertex coords
Campbell Barton [Wed, 21 Aug 2019 01:46:04 +0000 (11:46 +1000)]
Cleanup: use const arguments for vertex coords

9 months agoCleanup: remove unused derived-mesh API calls
Campbell Barton [Wed, 21 Aug 2019 00:55:47 +0000 (10:55 +1000)]
Cleanup: remove unused derived-mesh API calls

9 months agoFix grid snap value in recent snapping updates
Campbell Barton [Wed, 21 Aug 2019 01:38:53 +0000 (11:38 +1000)]
Fix grid snap value in recent snapping updates

Increase the size of the snap mode so the flag can be used.

9 months agoFix T68911: "illegal recursive expansion of macro id"
mano-wii [Wed, 21 Aug 2019 00:56:39 +0000 (21:56 -0300)]
Fix T68911: "illegal recursive expansion of macro id"

I imagined that could be a problem for some drivers.
I should have avoided.

9 months agoFix conflict with "Edge Center" snap mode
mano-wii [Tue, 20 Aug 2019 22:35:11 +0000 (19:35 -0300)]
Fix conflict with "Edge Center" snap mode

`SCE_SNAP_MODE_GRID` is used for both nodes and objects.
I don't think it's worth versioning in this case.

9 months agoTransform: New Snap Option: Edge Perpendicular
mano-wii [Tue, 20 Aug 2019 22:18:25 +0000 (19:18 -0300)]
Transform: New Snap Option: Edge Perpendicular

Part of T66420

Option for snapping to the nearest point of a reference coordinate.
The patch also adds Edge Center and Perpendicular snaps to the ruler.


Reviewers: campbellbarton, brecht

Reviewed By: campbellbarton

Differential Revision:

9 months agoFix T68869: outliner missing subversion bump
Nathan Craddock [Tue, 20 Aug 2019 20:34:39 +0000 (14:34 -0600)]
Fix T68869: outliner missing subversion bump

The recent commit of synced selection added an active color theme to
the outliner, and synced selection enabled by default. The subversion
bump was missed.

9 months agoCleanup: remove redundant operator data in keymap
Campbell Barton [Tue, 20 Aug 2019 21:23:20 +0000 (07:23 +1000)]
Cleanup: remove redundant operator data in keymap

9 months agoKeymap: Shift-Ctrl-Click didn't allow toggle selection
Campbell Barton [Tue, 20 Aug 2019 21:13:23 +0000 (07:13 +1000)]
Keymap: Shift-Ctrl-Click didn't allow toggle selection

D5518 by @jenkm

9 months agoGPencil: Hide self_overlap parameter for Texture strokes
Antonio Vazquez [Tue, 20 Aug 2019 18:26:30 +0000 (20:26 +0200)]
GPencil: Hide self_overlap parameter for Texture strokes

This property is not supported in this mode and must be removed from UI.

9 months agoEditor Transform: New Snap Option Middle
mano-wii [Tue, 20 Aug 2019 18:07:48 +0000 (15:07 -0300)]
Editor Transform: New Snap Option Middle

Part of T66420

Reviewers: campbellbarton, brecht

Reviewed By: campbellbarton

Differential Revision:

9 months agoFix use of uninitialized variable in Cycles math node
Brecht Van Lommel [Tue, 20 Aug 2019 16:19:22 +0000 (18:19 +0200)]
Fix use of uninitialized variable in Cycles math node

9 months agoFix T68877: GPencil - Missing remove unused slots in menu
Antonio Vazquez [Tue, 20 Aug 2019 16:11:16 +0000 (18:11 +0200)]
Fix T68877: GPencil - Missing remove unused slots in menu

The operator was missing in the menu for grease pencil materials.

9 months agoLiboverride: Add more missing ID RNA pointers as overridable.
Bastien Montagne [Tue, 20 Aug 2019 15:48:10 +0000 (17:48 +0200)]
Liboverride: Add more missing ID RNA pointers as overridable.

9 months agoFix T68789: Do not use new python format strings thingy in UI code.
Bastien Montagne [Tue, 20 Aug 2019 15:26:46 +0000 (17:26 +0200)]
Fix T68789: Do not use new python format strings thingy in UI code.

This is 100% incompatible with translation...

9 months agoCycles Tests: Fix Math tests when use_clamp is true.
OmarSquircleArt [Tue, 20 Aug 2019 15:20:16 +0000 (17:20 +0200)]
Cycles Tests: Fix Math tests when use_clamp is true.

The clamp option is implemented using graph expansion, where a Clamp node
named "clamp" is added and connected to the output. So the final result
is actually from the node "clamp".

Reviewers: brecht

Differential Revision:

9 months agoCleanup: remove undefined function
mano-wii [Tue, 20 Aug 2019 14:47:50 +0000 (11:47 -0300)]
Cleanup: remove undefined function

9 months agoSelect Engine: Move some private members out of select context
mano-wii [Tue, 20 Aug 2019 14:36:18 +0000 (11:36 -0300)]
Select Engine: Move some private members out of select context

9 months agoCleanup: Move select_engine function to corresponding header
mano-wii [Tue, 20 Aug 2019 14:18:26 +0000 (11:18 -0300)]
Cleanup: Move select_engine function to corresponding header

9 months agoUI: add URL presets
Campbell Barton [Tue, 20 Aug 2019 12:00:01 +0000 (22:00 +1000)]
UI: add URL presets

This adds a url-preset operator to simplify opening re-usable links.

- Standard websites have their own tool-tip.
- De-duplicate logic to get URL's that include version information.
- Reporting bugs no longer needs to have all information
  included in the URL.

D5498 by @luisbg with edits.

9 months agoCleanup: comparison warning
Campbell Barton [Tue, 20 Aug 2019 13:41:41 +0000 (23:41 +1000)]
Cleanup: comparison warning

9 months agoBLI: double version of some math functions.
YimingWu [Tue, 20 Aug 2019 13:09:55 +0000 (21:09 +0800)]
BLI: double version of some math functions.

9 months agoFix release notes showing twice in the splash-screen
Campbell Barton [Tue, 20 Aug 2019 12:46:20 +0000 (22:46 +1000)]
Fix release notes showing twice in the splash-screen

9 months agoCleanup: clang-format, sorted lists
Campbell Barton [Tue, 20 Aug 2019 00:11:53 +0000 (10:11 +1000)]
Cleanup: clang-format, sorted lists

9 months agoFix crash with no grid unit
mano-wii [Tue, 20 Aug 2019 12:11:32 +0000 (09:11 -0300)]
Fix crash with no grid unit

9 months agoFix T61286: Viewport grid units not visible
mano-wii [Tue, 20 Aug 2019 11:56:48 +0000 (08:56 -0300)]
Fix T61286: Viewport grid units not visible

The original code was commented on.
Unlike blender 2.79, the grid units are now displayed only when RV3D_VIEW_IS_AXIS.
The visible subdivisions in the grid are made by the GPU and depending on the pixel.
The code used here only mimics this behavior and adds a bit of overhead.

Reviewers: fclem, campbellbarton

Subscribers: FloridaJo, zlsa, rl.amorato, EitanSomething

Differential Revision:

9 months agoMemory: Fix guarded aligned malloc with small alignment
Jacques Lucke [Tue, 20 Aug 2019 07:45:47 +0000 (09:45 +0200)]
Memory: Fix guarded aligned malloc with small alignment

When calling `MEM_guarded_mallocN_aligned` with an alignment of 4,
a pointer that was returned that is 4 byte but not 8 byte aligned.
When freeing this pointer, `MEM_guarded_freeN` thinks that it is an
illegal pointer, because it asserts that `((intptr_t)memh) & 0x7 == 0`.

The fix is to always use at least 8 byte alignment.

Reviewers: brecht

Differential Revision:

9 months agoCleanup: outliner range selection
Nathan Craddock [Mon, 19 Aug 2019 23:04:30 +0000 (17:04 -0600)]
Cleanup: outliner range selection

No functional changes. This commit simplifies the recursive call,
removes unneeded function calls, and adds comments.

9 months agoOutliner: Add range extend select
Nathan Craddock [Sat, 17 Aug 2019 23:06:02 +0000 (17:06 -0600)]
Outliner: Add range extend select

Add support for ctrl+shift+lmb to default and industry compatible
keymaps to select a range without removing the existing selection.

9 months agoGPencil: Improve reproject operator in surface mode
Antonio Vazquez [Mon, 19 Aug 2019 19:01:18 +0000 (21:01 +0200)]
GPencil: Improve reproject operator in surface mode

This change was applied to GP branch during the period 2.80 cannot be updated. Now the patch can be moved to master.

The commit fix the problem when reproject over surface in multiframe mode and the surfaces can moved.

Also improved the surface algorithm thanks to Lukas W (@geloescht).

New Algorithm: Differential Revision:

Tested by @mendio and @pepeland

9 months agoGPencil: Change UI scale for z-depth offset
Antonio Vazquez [Mon, 19 Aug 2019 14:30:41 +0000 (16:30 +0200)]
GPencil: Change UI scale for z-depth offset

Actually, the value for this parameter must be in the order of 0.00001 and this makes the UI uncomfortable.

Now, the value is divided by 1000 internally and the UI values are more logic.

Reviewers: mendio, pepeland

Differential Revision:

9 months agoFix build error with OpenImageDenoise after recent changes for dynamic linking
Brecht Van Lommel [Mon, 19 Aug 2019 18:19:55 +0000 (20:19 +0200)]
Fix build error with OpenImageDenoise after recent changes for dynamic linking

CMake variables are case sensitive.

9 months agoFix T68831: use NULL instead of the wrong pointer to read default array.
Alexander Gavrilov [Mon, 19 Aug 2019 16:38:28 +0000 (19:38 +0300)]
Fix T68831: use NULL instead of the wrong pointer to read default array.

The pointer argument is supposed to be the object the property belongs
to, not a pointer to the property metadata itself. This only worked
before because the argument was never used.

9 months agoLibOverride: add some more missing override flags for RNA ID pointers.
Bastien Montagne [Mon, 19 Aug 2019 17:10:57 +0000 (19:10 +0200)]
LibOverride: add some more missing override flags for RNA ID pointers.

9 months agoMesh Batch Cache: Fix crash caused by rB3cbf2462391c
Clément Foucault [Mon, 19 Aug 2019 16:08:27 +0000 (18:08 +0200)]
Mesh Batch Cache: Fix crash caused by rB3cbf2462391c

9 months agoView3D Grid: fix imperial grid drawing
mano-wii [Mon, 19 Aug 2019 14:49:07 +0000 (11:49 -0300)]
View3D Grid: fix imperial grid drawing

This is a step to finish the D4325 and fix the T61286.
Currently the grid is highlighted in steps of 10 out of 10, which is wrong for the imperial units as seen in `buImperialLenDef`.
The idea of the code is to pass the steps of the grid already dimensioned as a uniform.

Another important thing to note is that subdivisions now only affect the grid without unity.
This matches the 2.7x Blender versions.

No performance loss (almost no gain too).

Reviewers: fclem

Subscribers: zlsa, rl.amorato

Differential Revision:

9 months agoFix T68719 Viewport: Wrong material index when switching between view mode
Clément Foucault [Mon, 19 Aug 2019 15:02:21 +0000 (17:02 +0200)]
Fix T68719 Viewport: Wrong material index when switching between view mode

This was due to the GPUIndexBuf ranges only computed when requesting
the triangles indices. If the tris were already calculated, the new shading
batches would never have the GPUIndexBuf ranges and instead use the full
triangle index buffer.

So since this only happen when shading data does not match, we just save
the previous GPUIndexBuf ranges and reuse them for the new batch.

This patch is a bit of a hack on top of a hack but it works fine.

9 months agoOutliner: sync selection on undo/redo
Nathan Craddock [Mon, 19 Aug 2019 14:58:13 +0000 (08:58 -0600)]
Outliner: sync selection on undo/redo

Tags all outliner sync types on undo and redo operations.

9 months agoFix crash when loading a file with existing proxy, and lib has been edited.
Bastien Montagne [Mon, 19 Aug 2019 14:46:31 +0000 (16:46 +0200)]
Fix crash when loading a file with existing proxy, and lib has been edited.

Editing a lib char should never, ever be done once you have proxies of
it in your project, that will most certainly break a lot of things...

But at leats let's try no to crash here.

9 months agoOutliner: rename filter "invisible" to "hidden"
Nathan Craddock [Mon, 19 Aug 2019 14:20:13 +0000 (08:20 -0600)]
Outliner: rename filter "invisible" to "hidden"

No functional changes. Renames the "invisible" object filter to
"Hidden" to be more consistent.

9 months agoFix building with shared OIDN libraries
Sebastian Parborg [Mon, 19 Aug 2019 13:19:41 +0000 (15:19 +0200)]
Fix building with shared OIDN libraries

Previously cmake would error out if it couldn't find the static
libraries even though it can build with shared libraries just fine.

9 months agoUI: replace "reports to text" operator with showing info log
Brecht Van Lommel [Mon, 19 Aug 2019 12:53:14 +0000 (14:53 +0200)]
UI: replace "reports to text" operator with showing info log

This operator only existed to be able to see multiple reports, now instead the
info log can be opened and contents can be copy/pasted.

Patch by Valentin (Poulpator)

Differential Revision:

9 months agoFix T68672: splash screen does not remain centered when window resizes
Luis de Bethencourt Guimera [Mon, 19 Aug 2019 12:51:16 +0000 (14:51 +0200)]
Fix T68672: splash screen does not remain centered when window resizes

Differential Revision:

9 months agoFix T68647: objects cannot be moved to collection if there is no active
Philipp Oeser [Mon, 19 Aug 2019 12:45:07 +0000 (14:45 +0200)]
Fix T68647: objects cannot be moved to collection if there is no active

This showed e.g. when deleting active object, then selecting using box
This commit also lifts the restriction that linked objects could not be
moved to a collection.

Reviewers: campbellbarton, dfelinto

Maniphest Tasks: T68647

Differential Revision:

9 months agoFix T68779: "Match Texture Space" causes blender to crash
Philipp Oeser [Mon, 19 Aug 2019 11:49:42 +0000 (13:49 +0200)]
Fix T68779: "Match Texture Space" causes blender to crash

need to access curve_cache from evaluated object.
thx @sergey for pointing that out.

Reviewers: sergey

Maniphest Tasks: T68779

Differential Revision:

9 months agoFix T68802: Paint brush's Fill Threshold option is lost
William Reynish [Mon, 19 Aug 2019 11:28:09 +0000 (13:28 +0200)]
Fix T68802: Paint brush's Fill Threshold option is lost

9 months agobuild deps macOS: add PUGI_XML home to OSL
Arto Kitula [Mon, 19 Aug 2019 12:00:28 +0000 (15:00 +0300)]
build deps macOS: add PUGI_XML home to OSL

9 months agoUI: re-order sequencer effects panel in side-bar
Campbell Barton [Mon, 19 Aug 2019 10:50:52 +0000 (20:50 +1000)]
UI: re-order sequencer effects panel in side-bar

When working with Effect strips it is not optimal to have to scroll
downwards to get to the important settings for these kinds of strips.

D5512 by @tintwotin

9 months agoFix T68806: UI: underscores instead of spaces in some labels.
Bastien Montagne [Mon, 19 Aug 2019 08:41:59 +0000 (10:41 +0200)]
Fix T68806: UI: underscores instead of spaces in some labels.

9 months agoLibOverride: Fix some more broken characters after override.
Bastien Montagne [Fri, 16 Aug 2019 15:20:53 +0000 (17:20 +0200)]
LibOverride: Fix some more broken characters after override.

Think pretty much any ID pointer property should be overrideable
actually, without this reconstructing a local hierarchy of overriding
data-blocks simply cannot work properly...

9 months agoMesh Batch Cache: Fix regression with mesh that have poly mat id > mat_len
Clément Foucault [Sun, 18 Aug 2019 20:40:47 +0000 (22:40 +0200)]
Mesh Batch Cache: Fix regression with mesh that have poly mat id > mat_len

9 months agoFix T67008: Missing move handle and flickering in FileBrowser
Andrea Weikert [Sun, 18 Aug 2019 14:34:39 +0000 (16:34 +0200)]
Fix T67008: Missing move handle and flickering in FileBrowser

Fix T67008: Missing move handle and flickering in FileBrowser

Allow split regions (child regions) to contribute to the action zones (azone) of the parent region.
This fixes the issues in file browser and also in the user preferences.

Reviewers: Severin, mont29, campbellbarton

Reviewed By: Severin, mont29, campbellbarton

Subscribers: brecht, campbellbarton

Maniphest Tasks: T67008

Differential Revision:

9 months agoGPencil: Interpolate pressure in active Smooth
Antonio Vazquez [Sun, 18 Aug 2019 09:36:04 +0000 (11:36 +0200)]
GPencil: Interpolate pressure in active Smooth

Now the pressure is interpolated in active smooth and not only position as before.

9 months agoCleanup: spelling, change breaked to braked
Campbell Barton [Sun, 18 Aug 2019 09:30:33 +0000 (19:30 +1000)]
Cleanup: spelling, change breaked to braked

9 months agoCleanup: unused warning
Campbell Barton [Sun, 18 Aug 2019 09:29:59 +0000 (19:29 +1000)]
Cleanup: unused warning

9 months agoShading: Refactor Math node and use dynamic inputs.
OmarSquircleArt [Sun, 18 Aug 2019 09:16:04 +0000 (11:16 +0200)]
Shading: Refactor Math node and use dynamic inputs.

- Implement dynamic inputs. The second input is now unavailable in single
operand math operators.
- Reimplemenet the clamp option using graph expansion for Cycles.
- Clean up code and unify naming between Blender and Cycles.
- Remove unused code.

Reviewers: brecht

Differential Revision:

9 months agoIndustry Compat Keymap: support new outliner features
Nathan Craddock [Sat, 17 Aug 2019 03:28:06 +0000 (21:28 -0600)]
Industry Compat Keymap: support new outliner features

Adds support for changes in the outliner from the soc-2019-outliner
branch. All changes made in the default keymap are made in the
Industry Compatible  keymap, except for renaming. Renaming is done
with Return in the Industry Compatible keymap.

9 months agoFix: Outliner gsoc versioning
Nathan Craddock [Sat, 17 Aug 2019 23:42:00 +0000 (17:42 -0600)]
Fix: Outliner gsoc versioning

Move outliner versioning for syncing and themes to the block
for the next subversion bump. It was not moved from the first
location it was placed in the soc-2019-outliner branch.

Old files will now load with synced selection enabled reliably.

9 months agoFix T68782: false occlusion in selecting vertices and edges with objects in any wire...
mano-wii [Sat, 17 Aug 2019 21:40:08 +0000 (18:40 -0300)]
Fix T68782: false occlusion in selecting vertices and edges with objects in any wire view

9 months agoCleanup: spelling
Campbell Barton [Sat, 17 Aug 2019 18:11:50 +0000 (04:11 +1000)]
Cleanup: spelling

9 months agoCleanup: correct comments
Campbell Barton [Sat, 17 Aug 2019 18:11:41 +0000 (04:11 +1000)]
Cleanup: correct comments

9 months agoFix T68760: "Reload Scripts" '_sys_path_ensure' missing
Campbell Barton [Sat, 17 Aug 2019 16:31:26 +0000 (02:31 +1000)]
Fix T68760: "Reload Scripts" '_sys_path_ensure' missing

Missed this in recent update.

9 months agoDRW: Fix couple of issues in DRW_draw_select_id
Clément Foucault [Sat, 17 Aug 2019 15:27:22 +0000 (17:27 +0200)]
DRW: Fix couple of issues in DRW_draw_select_id

Theses 2 function calls are mandatory.

9 months agoFix T68723: GPencil - Split Select mode for Sculpt and Edit mode
Antonioya [Sat, 17 Aug 2019 14:18:09 +0000 (16:18 +0200)]
Fix T68723: GPencil - Split Select mode for Sculpt and Edit mode

Actually, the selection mode is not visible in Sculpt mode when mask is enabled, but still is used.
Also, the mode is shared between Edit mode and Sculpt mode and for meshes the selector is by mode.

This commit splits the select mode in different properties and show the selector in Sculpt mode to define the Select mode. Also, the Select Mask button has been removed and now the Select Mode buttons work equal to Meshes where the select buttons are the mask enable too.

Fixed some old code not valid detected during these changes.

Differential Revision:

9 months agoFix T68722: Improve Smooth algorithm for Thickness and Strength
Antonioya [Thu, 15 Aug 2019 15:49:55 +0000 (17:49 +0200)]
Fix T68722: Improve Smooth algorithm for Thickness and Strength

Now the GPencil smooth algorithm uses a average value instead to use only two points and the interpolated value.

Differential Revision:

9 months agoFix unreported GPencil Thickness modifier affecting strokes not in Vertex Groups
S J Bennett (quollism) [Sat, 17 Aug 2019 09:16:49 +0000 (11:16 +0200)]
Fix unreported GPencil Thickness modifier affecting strokes not in Vertex Groups

Prior to this commit: If the Grease Pencil Thickness modifier is set to Normalize and a Vertex Group is selected, the thickness of all strokes are effected when changing the Thickness parameter. Points on strokes are only normalised (= pressure set to 1.0) if they are part of the Vertex Group; the strokes themselves may still change thickness.

With this patch: If Normalize is selected with a Vertex Group, Blender now pre-checks each stroke to determine whether it has vertices within or outside the Vertex Group. If all the points on the stroke belong to the Vertex Group, it normalises the whole stroke to a uniform thickness. If some or none of the points of the stroke belong to the Vertex Group, the stroke is now left as is.

Reviewed By: @antoniov
Differential Revision: with minor edit.

9 months agoFix T68753: GPencil tooltip typo
Antonio Vazquez [Sat, 17 Aug 2019 09:04:03 +0000 (11:04 +0200)]
Fix T68753: GPencil tooltip typo

9 months agoPyRNA: include class name in double-register exception
Campbell Barton [Fri, 16 Aug 2019 18:51:50 +0000 (04:51 +1000)]
PyRNA: include class name in double-register exception

Helps debugging errors when classes are registered twice.

9 months agoOutliner: Add range extend select and modify keymap
Nathan Craddock [Fri, 9 Aug 2019 20:12:29 +0000 (14:12 -0600)]
Outliner: Add range extend select and modify keymap

Modifies selection keymap to be more conventional, with
shift click for range selection and ctrl click for extend

9 months agoOutliner: Support box select on click+drag
Nathan Craddock [Fri, 9 Aug 2019 20:00:49 +0000 (14:00 -0600)]
Outliner: Support box select on click+drag

9 months agoOutliner: set parent for entire selection
Nathan Craddock [Fri, 9 Aug 2019 19:55:58 +0000 (13:55 -0600)]
Outliner: set parent for entire selection

Set and clear parents for all elements in the selection in the outliner.

This also removes the popup menu for setting the parent to curves,
armatures, and lattices. It makes more sense to keep the outliner
simple and only do object parenting.

9 months agoOutliner: Fix scenes in scene display not starting open
Nathan Craddock [Fri, 9 Aug 2019 19:51:58 +0000 (13:51 -0600)]
Outliner: Fix scenes in scene display not starting open

9 months agoOutliner: Fixes to show active and scroll page
Nathan Craddock [Fri, 9 Aug 2019 19:51:43 +0000 (13:51 -0600)]
Outliner: Fixes to show active and scroll page

Adjusts the scrolling of show active and scroll page operators
to use the `outliner_scroll_view` operator to ensure scrolling
does not leave the outliner bounds.

Also changes show active to expand subtrees containing all
instances of the active object, which may be linked to multiple

9 months agoOutliner: set scene camera on camera data activate
Nathan Craddock [Fri, 9 Aug 2019 19:47:53 +0000 (13:47 -0600)]
Outliner: set scene camera on camera data activate

9 months agoOutliner: Draw sequencer and vertex group icons
Nathan Craddock [Fri, 9 Aug 2019 19:37:23 +0000 (13:37 -0600)]
Outliner: Draw sequencer and vertex group icons

Draw icons for sequencer and vertex groups. The sequence
types need updates because they all draw in various colors
and some sequence types do not have an icon.

9 months agoOutliner: Use F2 to rename active outliner item
Nathan Craddock [Fri, 9 Aug 2019 19:27:40 +0000 (13:27 -0600)]
Outliner: Use F2 to rename active outliner item

Previously with F2 mapped to the global rename active object
operator, it was not posible to use the conventional F2 to rename any
outliner element like collections or object data. This adds F2 to the
outliner keymap to call the outliner rename operator rather than the
popup rename object operator.

9 months agoOutliner: walk navigation operator and openclose fixes
Nathan Craddock [Fri, 9 Aug 2019 04:00:57 +0000 (22:00 -0600)]
Outliner: walk navigation operator and openclose fixes

Adds a keyboard walk navigation and selection operator to the
outliner. Up and down arrow keys walk up and down the list of
elements, and left and right will open and close elements if
the elements are closed or opened respectively. Holding shift
while walking up and down the tree expands the selection.

Holding shift while clicking or pressing left and right arrows
will expand or collapse all children elements recursively.
Pressing enter to openclose the hovered element is removed.

Also allows click+drag for openclose of element subtrees.

This moves openclose toggling to the openclose operator to
remove duplicate code. The outliner tree building is tweaked
slightly to set the proper parents in scene display mode for walk
select to walk to parents without errors.

9 months agoOutliner: invisible object filter
Nathan Craddock [Fri, 9 Aug 2019 00:09:08 +0000 (18:09 -0600)]
Outliner: invisible object filter

Adds an invisible object filter in the outliner to show hidden
objects. This is useful to quickly locate hidden items in a large outliner
tree and easily toggle visibilty back on. Invisible refers to an object
being hidden, or viewport visibility restricted.

9 months agoOutliner: Allow select on row icons
Nathan Craddock [Thu, 8 Aug 2019 21:37:32 +0000 (15:37 -0600)]
Outliner: Allow select on row icons

Allow selection of subtree elements on a collapsed element's
row. Because subtree elements are aggregated by type, a select on
an icon that represents multiple subtree elements will invoke a
popup menu to select the specific subtree element.

Also draws highlights on cursor hover over a row icon.

Any child elements that are linked to multiple collections will
only be listed in the popup one time, and selection from the
popup will select the first instance in the subtree.

9 months agoOutliner: Draw constraint icons and enable button
Nathan Craddock [Thu, 8 Aug 2019 19:58:53 +0000 (13:58 -0600)]
Outliner: Draw constraint icons and enable button

Draw all constraint icons and enable/disable restrict buttons.

The action constraint needs its own icon. It currently draws white
instead of the blue modifier color.

9 months agoEyedropper: Support datadropper in the outliner
Nathan Craddock [Thu, 8 Aug 2019 19:40:00 +0000 (13:40 -0600)]
Eyedropper: Support datadropper in the outliner

Adds support for using the eyedropper in the outliner in addition to
the 3D view.

9 months agoCollections: change active if hidden or excluded
Nathan Craddock [Thu, 8 Aug 2019 19:27:19 +0000 (13:27 -0600)]
Collections: change active if hidden or excluded

When the active collection is hidden or excluded, change the active
collection to the first visible parent collection. This behavior existed
previously for excluding collections, and is now expanded to also
switch the active collection when viewport hidden or restricted.

This does not prevent viewport hidden or restricted collections from
being reactivated later. This could be added as a separate commit.
Excluded collections cannot be activated, so it may make sense to
extend this behavior to hiding collections.

9 months agoOutliner: Synced selection and active element highlighting
Nathan Craddock [Thu, 8 Aug 2019 04:27:07 +0000 (22:27 -0600)]
Outliner: Synced selection and active element highlighting

Adds a toggle to the filter menu for outliner synced selection. Enabled
by default, this ensures selection is synced between objects, bones, and
sequences. An active outliner element theme color is added to indicate
which element is active.

Synced selection is controlled on the operator level. Each operator
that modifies selection for objects, bones, sequences, or outliner
elements needs to call the respective ED_outliner_select_sync_from..
function to tag outliners to be synced.

Syncing is done lazily on outliner draw.

9 months agoFix T68103: bevel sometimes infinite loops with patch miter.
Howard Trickey [Fri, 16 Aug 2019 17:20:48 +0000 (13:20 -0400)]
Fix T68103: bevel sometimes infinite loops with patch miter.

Needed to null terminate list of chain to process width adjustments on.

9 months agoFix T68009: Recognize X.Org/AMD as GPU_DEVICE_ATI and open source driver
Rémi Verschelde [Fri, 16 Aug 2019 16:36:39 +0000 (18:36 +0200)]
Fix T68009: Recognize X.Org/AMD as GPU_DEVICE_ATI and open source driver

Reviewed By: #gpu_viewport, fclem

Differential Revision:

9 months agoFix T68702: Input socket in the Normal node isn't drawn properly.
OmarSquircleArt [Fri, 16 Aug 2019 15:59:12 +0000 (17:59 +0200)]
Fix T68702: Input socket in the Normal node isn't drawn properly.

The Normal vector socket in the Normal node wasn't drawn properly and
couldn't be controlled. Additionally, the socket name was drawn over it.

This happened because the socket had a default value of a zero vector.
To fix this, we set the default value to the unit vector `(0, 0, 1)`.
Moreover, we don't draw the UI name if the subtype is `PROP_DIRECTION`.

Reviewers: brecht

Differential Revision:

9 months agoRevert "Outliner: only activate outliner items when clicking on icon/text"
Campbell Barton [Fri, 16 Aug 2019 15:25:06 +0000 (01:25 +1000)]
Revert "Outliner: only activate outliner items when clicking on icon/text"

The soc-2019-outliner branch relied on the previous behavior,
since this is going to be merged soon, postpone this change.

This reverts commit 9dab57a9f829881dad1e659b53413ded15ec085e.

9 months agoCleanup: remove gawain reference
Campbell Barton [Fri, 16 Aug 2019 15:17:30 +0000 (01:17 +1000)]
Cleanup: remove gawain reference

9 months agoCleanup: clang-format
Campbell Barton [Fri, 16 Aug 2019 15:17:11 +0000 (01:17 +1000)]
Cleanup: clang-format

9 months agoCleanup: spelling
Campbell Barton [Fri, 16 Aug 2019 14:54:22 +0000 (00:54 +1000)]
Cleanup: spelling

9 months agoCleanup: unused args/vars
Campbell Barton [Fri, 16 Aug 2019 14:53:18 +0000 (00:53 +1000)]
Cleanup: unused args/vars

9 months agoUI: click on status bar report message now opens window with Info editor
Brecht Van Lommel [Fri, 16 Aug 2019 14:24:16 +0000 (16:24 +0200)]
UI: click on status bar report message now opens window with Info editor

Patch by Valentin (Poulpator)

Differential Revision:

9 months agoFix part of T62917: selected edge not highlighted with black and white overlays
EitanSomething [Fri, 16 Aug 2019 14:23:02 +0000 (16:23 +0200)]
Fix part of T62917: selected edge not highlighted with black and white overlays

Differential Revision:

9 months agoFix T55054: possible use of unsupported instructions in Cycles texture code
Lazydodo [Fri, 16 Aug 2019 14:27:15 +0000 (16:27 +0200)]
Fix T55054: possible use of unsupported instructions in Cycles texture code

Differential Revision:

9 months agoFix Unreported crash when opening linked material using nodegroups
Clément Foucault [Fri, 16 Aug 2019 14:41:59 +0000 (16:41 +0200)]
Fix Unreported crash when opening linked material using nodegroups

This removes the recursive conversion of material using old blend modes.

With the approval of @brecht

9 months agoFix T68651: LibOverride: Fix bad handling of RNA collections pointers.
Bastien Montagne [Fri, 16 Aug 2019 14:19:52 +0000 (16:19 +0200)]
Fix T68651: LibOverride:  Fix bad handling of RNA collections pointers.

We were storing the 'item' part in the RNA path of the override op
itself, which will not work with IDs because overriding local one might
not have the same name as the linked one (when some local ID with same
name already exists).

Now we are properly handling  this using the expected actual override
operation, which stores necessary data (names or indices) from both
local and linked data.

9 months agoCleanup: proper use of UNUSED_VARS_NDEBUG instead of random hack.
Bastien Montagne [Fri, 16 Aug 2019 14:18:48 +0000 (16:18 +0200)]
Cleanup: proper use of UNUSED_VARS_NDEBUG instead of random hack.