Commit Graph

84473 Commits

Author SHA1 Message Date
ef818009e0 Fix T60306: Circle select tool behaves like a mode 2019-01-08 22:15:00 +11:00
e11bb77f31 Properly clean up Python when exiting due to --python-exit-code
When BPY_python_end() is not called, there can be buffered data still in
`sys.stdout` or `sys.stderr`. This generally isn't an issue when those are
connected to a terminal, but when they are read by another process (in the case
of rendering with Flamenco, for example) we could miss the actual error message
that's causing the exit in the first place.

The following script demonstrates the issue; before this commit neither the
writes to STDERR and STDOUT nor the traceback of the NameError were shown.

    #!/bin/bash

    cat > file-with-errors.py <<EOT
    import sys
    print('THIS IS STDERR', file=sys.stderr)
    print('THIS IS STDOUT', file=sys.stdout)
    nonexisting.monkey = 3
    EOT

    blender --enable-autoexec -noaudio --background \
	any-existing-blendfile.blend \
	--python-exit-code 42 \
	--python file-with-errors.py 2>&1 | cat

Reviewers: campbellbarton, mont29

Reviewed By: campbellbarton, mont29

Subscribers: fsiddi

Differential Revision: https://developer.blender.org/D4168
2019-01-08 12:00:18 +01:00
68b4c57ba5 Merge branch 'blender2.7' 2019-01-08 11:47:35 +01:00
1e386d98ce Make DNA and RNA errors more meaningful and friendly 2019-01-08 11:43:15 +01:00
f2d2bafe85 fix rotational limits not showing for GENERIC ridgid body constraint
oversight in rB502aabb9d0c5

part of T60290
2019-01-08 10:21:26 +01:00
859a4dd51b Fix workbench shading pie menu
Expand the enum since it's dynamic, depending on the render engine.
2019-01-08 17:17:52 +11:00
a0d456daf8 Vertex Paint: support vertex masking
Working in 2.7x, was just disabled in 2.8x.

Fixes T60256
2019-01-08 15:18:28 +11:00
91a155833e Cleanup: comments causing bad clang-format output 2019-01-08 10:37:43 +11:00
3d2ff33c26 Fix T60167: wrong shader nodes in Eevee add menu. 2019-01-07 17:32:40 +01:00
b2a0ffc95f Fix bad enum value since 299ff7dcd1
This is why out-sourcing things to a production-tested formatters
is a very very good idea.
2019-01-07 17:18:33 +01:00
8e35a968c5 Subdiv: Use defined order of corner/edge vertices
This switches evaluation of vertices which are on the boundaries
of PTex faces to a single threaded one. While this introduces
some slowdown it fixes ambiguity of PTex index used to evaluate
particular vertex.

Possible alternative solutions would be:
- Do some pre-calculation of index, then do evaluation in threads.
- Try using Gregory patches and see if that makes any affect.

Fix T60235: Flickering of object instances
2019-01-07 17:14:19 +01:00
e637e8dcc6 Subdiv: Move single threaded code to a single function
Allows to more easily add more passes which are supposed to be run
from a single thread.
2019-01-07 17:14:19 +01:00
1b15eb7e71 Subdiv: Cleanup, de-duplicate code 2019-01-07 17:14:19 +01:00
0218268546 GP: Hide Options and Curves popovers for Fill brushes 2019-01-07 16:22:48 +01:00
43a2a73fdb Fix missing updates when muting/soloing/reordering NLA tracks. 2019-01-07 17:35:51 +03:00
299ff7dcd1 Cleanup: corrections to last commit 2019-01-08 01:00:40 +11:00
5a43406e1b Cleanup: move DNA comments before struct members
Needed for clang-format in some cases, see: T53211
2019-01-08 00:43:00 +11:00
0215caeac2 Cleanup: fix typo. 2019-01-07 14:30:45 +01:00
b786416106 Fix T59151 Bevel modifier has bad input width for percent.
The units scaling was inappropriate when the bevel value was
to be interpreted as a percent, so added a separate rna property
for "Width Percent" and made UI show the width appropriate for
current offset_type.
2019-01-07 07:29:54 -05:00
f19b3f9b77 OpenSundiv: Simplify tweaking of shared stencil/patch settings 2019-01-07 10:33:40 +01:00
cfeffa7529 Fix T60247: app.handlers.undo_post calls undo_pre's function.
Undo and redo post were actually calling respective pre funcs...
2019-01-07 09:53:46 +01:00
6015a03255 Cleanup: naming for return args 2019-01-07 15:34:16 +11:00
07287ceda1 Fix T58964: drivers_remove fails w/ missing paths 2019-01-07 15:27:59 +11:00
abe32d2a35 PyAPI: Add AnimationData.drivers.new/remove methods
Low level functions to directly create and remove drivers,
use when high level functions aren't flexible enough, see: T58964.
2019-01-07 14:06:36 +11:00
96f762500e Cleanup: tweak last commit 2019-01-07 11:16:11 +11:00
430cf7e15e Fix generated toolbar keymap w/ annotation tool 2019-01-07 11:00:46 +11:00
Sebastian Parborg
8c0a77b894 Fix T59944: Template operator_mesh_uv.py fails 2019-01-07 10:21:23 +11:00
496f6adce2 Better bevel normal hardening when some faces were smooth.
Harden normals causes normal splitting, which will not give the
appearance expected due to autosmooth unless some edges are sharpened,
so this change fixes that. Also bevel tool will turn on autosmooth
if not already on if hardening normals.
2019-01-06 18:12:00 -05:00
b4a77a351e Cleanup: add trailing commas to structs 2019-01-07 09:15:07 +11:00
d5c24f2030 Correct error in recent button type check 2019-01-07 09:15:07 +11:00
aa6946f6c9 UI: Use grid-flow layout throughout Preferences
Makes the entire Preferences UI nicely width responsive. Also, move
use_tabs_as_spaces option back to file path options, it was too lonely
in its own panel ;)
2019-01-06 21:53:58 +01:00
2edd32c168 Fix typo. 2019-01-06 18:21:57 +01:00
e7d8b945ce GP: Fix missing initialization converting 2.7 files 2019-01-06 17:22:03 +01:00
eb55990777 Fix T60213: crash loading .blend file with material override. 2019-01-06 15:24:02 +01:00
53d6f40760 UI: tweaks to user preferences layout.
* Expand more sub-panels by default.
* Move release confirms and numeric input settings to Input.
* Move 3D cursor settings to Editing.
* Move region overlap to Interface.
2019-01-06 15:24:01 +01:00
e305560f13 Cleanup: add trailing commas to structs
Needed for clang formatting to workaround bug/limit, see: T53211
2019-01-07 00:34:48 +11:00
f10a88ae8d object.dimensions: add warning about multiple consecutive assignments.
Since this is API-only prop now, it's worth warning about that
limitation.

Follow-up to comments in rB9c928bb93e04.
2019-01-06 13:11:31 +01:00
6c7762687e Fix T60187: Latest couple of builds fail to run, need libGLX.so.0 2019-01-06 11:51:38 +01:00
937a7e8cc2 UI: tweak preferences
- Move author to save&load
  (was incorrectly under text editor).
- Rename Memory -> Memory/Limits
  (some of the settings aren't obviously todo with memory).
2019-01-06 20:41:03 +11:00
a153f7628e Cleanup: style, line length 2019-01-06 20:27:35 +11:00
4b7596ec91 fix T59743: Collada exporter: Add option for exporting flat curves
The Collada exporter suppresses the export of flat animation curves
to optimize the animation (in fact to make the exported file smaller).

But sometimes it is important to also have the flat curves exported
because they may be needed to define an initial transformation to
a fixed location - like translating the weapon from the ground floor
to the back of the model in the report.

I added a new option "all keyed curves" which is disabled by default
but when enabled it also exports flat curves.

feedback is very welcome
2019-01-05 21:52:41 +01:00
Julian Eisel
e8d4304b55 Correct version patching of Preferences theme
In a77b63c569, the Preferences navigation region background was
made brighter. Recently stored userpref.blends (since b00963afc1,
so beta release included) would still use the slightly darker
background for the Preferences navigation region.
Now the version patch added for a77b63c569 also sets the new color
for those recent configs.
2019-01-05 19:53:47 +01:00
674d364af0 fix T60092 collada exporter: exporting a rig with one single bone fails
The problem was that removing entries from a vetor while iterating
the vector was implemented badly. This caused the failure when only
one element was in vector.
2019-01-05 18:08:10 +01:00
9c928bb93e Fix T60183: Images as Planes (addon) Attribute Error.
Partially revert rB1b8c3774a86ebc04fceb9cd, there is no good reason to
make object.dimensions read-only, it works perfectly well from python
API! Only breaking case was that weird multi-editing UI feature, due to
how it sets things. But RNA setter itself works fine, and it's a handy
shortcut/helper for scripts.

Also when breaking API, it is good practivce to at least check official
add-ons...
2019-01-05 16:33:38 +01:00
1461d0185c Theme: update 2019-01-05 21:32:38 +11:00
95736683a9 UI: length now scales proportionally w/ multi-but
Use for object dimensions.
2019-01-05 20:09:25 +11:00
16f49f81dd Cleanup: 3d view panel median value storage 2019-01-05 19:56:20 +11:00
a2120001a8 Cleanup: avoid function call for pointer compare 2019-01-05 19:56:15 +11:00
57d4b869be NLA: rewrite evaluation channel data structures.
Implementing a new intelligent mixing mode that combines quaternions
via multiplication requires rewriting the NLA code to recombine array
properties from separate scalar channels during evaluation.

In addition, stable evaluation of NLA stack requires that any channel
that is touched by any of the actions in the stack should always be
set to a definite value by evaluation, even if no strip affects it
at this point of the timeline. The obvious choice for the fallback
is the default value of the property.

To make scanning all actions reasonably efficient, mapping paths to
channels should be done using hash tables.

Differential Revision: https://developer.blender.org/D4120
2019-01-05 10:52:43 +03:00
Severin
a77b63c569 UI: Preferences Redesign Part 2
(Part 1 was 00963afc14978b)

Does the following changes visible to users:
* Use panels and sub-panels for more structured & logical grouping
* Re-organized options more logically than before (see images in D4148)
* Use flow layout (single column by default).
* New layout uses horizontal margin if there's enough space.
* Change size of Preferences window to suit new layout.
* Move keymap related options from "Input" into own section.
* Own, left-bottom aligned region for Save Preferences button.
* Adjustments of names, tooltips & icons.
* Move buttons from header into the main region (except editor switch).
* Hide Preferences header when opened in temporary window.
* Use full area width for header.
* Don't use slider but regular number widget for UI scale.
* Gray out animation player path option if player isn't "Custom"

Internal changes:
* Rearrange RNA properties to match changed UI structure.
* Introduces new "EXECUTE" region type, see reasoning in D3982.
* Changes to panel layout and AZone code for dynamic panel region.
* Bumps subversion and does versioning for new regions.

RNA changes are documented in the release notes:
https://wiki.blender.org/wiki/Reference/Release_Notes/2.80/Python_API/Preferences_API

Design & implementation mostly done by @billreynish and myself.
I recommend checking out the screenshots posted by William:
https://developer.blender.org/D4148#93787

Reviewed By: brecht

Maniphest Tasks: T54115

Differential Revision: https://developer.blender.org/D4148
2019-01-04 22:18:23 +01:00