Commit Graph

91784 Commits

Author SHA1 Message Date
122ba774e0 Fix T71621: VSE crashes when playing last frame of audio
Due to some floating point errors the last frame of a VSE audio strip can
cause integer overflow and crash Blender. This overflow was caused by a
cast from `int64_t` to `int` without prior check. The crash is fixed by
keeping the variable as `int64_t` for as long as possible.
2019-11-21 10:01:12 +01:00
Hans Goudey
ba1e9ae473 Bevel: Custom Profile and CurveProfile Widget
Custom profiles in bevel allows the profile curve to be controlled by
manually placed control points. Orientation is regularized along
groups of edges, and the 'pipe case' is updated. This commit includes
many updates to comments and changed variable names as well.

A 'cutoff' vertex mesh method is added to bevel in addition to the
existing grid fill option for replacing vertices.

The UI of the bevel modifier and tool are updated and unified.

Also, a 'CurveProfile' widget is added to BKE for defining the profile
in the interface, which may be useful in other situations.

Many thanks to Howard, my mentor for this GSoC project.

Reviewers: howardt, campbellbarton

Differential Revision: https://developer.blender.org/D5516
2019-11-20 16:25:28 -05:00
Harley Acheson
8c6ce74239 UI: Text Editor Visual Changes
Various small changes to Text Editor, mostly to do with scaling, alignment, and theme support.

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

Reviewed by Campbell Barton
2019-11-20 12:59:19 -08:00
Sergey Sharybin
0418e28944 New splash screen for master branch!
This way we can tell master from previous releases apart.

Splash by Gleb Alexandrov, Aidy Burrows and the Blender community
2019-11-20 14:58:10 +01:00
66bec8c25d Alembic: clean up exporter metadata code
The Alembic file metadata object was created in one place, a bit of
metadata was added, then it was passed along with other properties which
were then injected as metadata in another function. This is now cleaned up.

No functional changes.
2019-11-20 10:26:59 +01:00
dfdbb237bb Alembic: Upgrade from 1.7.8 to 1.7.12
Alembic 1.7.12 introduces a 'DCC FPS' hint, allowing Blender to write
the scene frame rate to the Alembic file. This will make it possible for
importers and converters to properly deal with situations where 'frame
number' is the only reference to time.

Writing this new DCC FPS hint will be done in a separate commit. Here
only the Alembic library is upgraded from 1.7.8 to 1.7.12.
2019-11-20 10:19:00 +01:00
Campbell Barton
2defd81b5e Cleanup: comments 2019-11-20 18:12:50 +11:00
Campbell Barton
43eb34ec81 Fix T71680: _PyObject_LookupAttr memory leak 2019-11-20 17:53:22 +11:00
Campbell Barton
9d8af29267 Cleanup: remove WITH_RAYOPTIMIZATION
This is redundant as WITH_CPU_SSE adds these flags
when they're supported.
2019-11-20 14:54:50 +11:00
Campbell Barton
858bd1d4d0 Fix assert running remesh with OpenVDB disabled 2019-11-20 14:54:50 +11:00
Dalai Felinto
3b16578fb4 Outliner: Fixup for previous commit on tooltip/crash fix
The issue was actually in Python extras (where it shows the ENUM option).

I got a bit distracted by the "(undocumented operator)" message.
It made me miss the missing ENUM once the crash was gone.
2019-11-20 00:42:30 -03:00
Dalai Felinto
bc66810064 Outliner: Fix crash for tooltips on ID operations
This was introduced on 9ca2cbdcea6a.
2019-11-20 00:29:28 -03:00
Dalai Felinto
9ca2cbdcea Outliner: Don't show id operations (make single user) when not supported
For the make single user operation to work we expect a parent of the
datablock to be around. However this is often not the case when not
accessing the data from Scenes or Viewlayer display modes.

For now we simply not show them in the other cases. They can be added
later though, by testing the outliner tree parent compatibility with the
expected parent id.

Fix T71673
Differential Revision: https://developer.blender.org/D6276
2019-11-19 14:28:59 -03:00
Sergey Sharybin
83e8765562 Subdiv: Tweak threading settings
Ensure that all threads on a multi-core system are used.

The issue was that BLI_task module was trying to be smart and
used heuristic to find optimal number of iterations per thread.
This heuristic assumes that tasks are light-weight, which is
not a case for subdivision surface.

On a higher subdivision level with a file from T70826 the
evaluation time goes down from 0.25 to 0.17 seconds per modifier
evaluation.

When D6189 is finalized we can being some extra performance
improvement.
2019-11-19 16:58:58 +01:00
Ray Molenkamp
6fea251e01 Use mutex for lock in image.c
Usage of spinlock during heavy IO gave reduced performance
see D6267 for details.

Reviewed By: sergey

Differential Revision: https://developer.blender.org/D6267
2019-11-19 07:37:16 -07:00
Dalai Felinto
12915aad65 Fix T69798: Pinning empty image objects
We have no dedicated image context tab, so for now making sure we don't
end up passing its ID as the pinned one.

If we ever get one, we then will need a different solution here, like
changing the ID that owns the data to be the object, instead of the
empty image datablock.

Differential Revision: https://developer.blender.org/D6273
2019-11-19 10:26:31 -03:00
Philipp Oeser
08588d06e8 Fix T71554: 'Hide Unselected' not working for certain selections
rBc6cbcf83d015 caused to early out e.g when not all faces were selected
(but surrounding faces were, so implicitly all vertices were selected).
Now take (mixed also) selection mode into account.

Maniphest Tasks: T71554

Differential Revision: https://developer.blender.org/D6254
2019-11-19 09:51:06 +01:00
Alexander Gavrilov
04272613a7 Python API: assume that a crashed Python operator returned FINISHED.
The CANCELLED return value from an operator is intended for
signaling that the operator aborted execution without changing
anything, and an Undo stack entry should not be created.

When a Python operator crashes, it is not safe to assume that
it did nothing, so it should interpret it as FINISHED instead.
Otherwise, the undo system behavior after an operator failure
feels broken.

Differential Revision: https://developer.blender.org/D6241
2019-11-18 22:03:40 +03:00
Alessio Monti di Sopra
64c27b9690 WM: remove view operators from the undo stack 2019-11-19 00:56:07 +11:00
Matias Mendiola
d66bc3807f GPencil: Layers and Materials Specials menu updates
Rename and separate Layers and Materials Specials menu from other buttons for better consistency

Reviewed By: antoniov

Differential Revision: https://developer.blender.org/D6271
2019-11-18 14:33:25 +01:00
Campbell Barton
71d65e881f Merge branch 'blender-v2.81-release' 2019-11-18 23:58:02 +11:00
Sergey Sharybin
c2a251d655 Build deps: Actually tweak EOL style
Seems that `git am` will force native EOL.
2019-11-18 13:55:55 +01:00
Campbell Barton
115a5bf65a Correct error in last commit 2019-11-18 23:53:34 +11:00
blender
14882c4bed Build deps: Fix compilaiton of OpenCollada
Was caused by "wrong" EOL characters used in the patch: the file is
actuallyu saved using CRLF EOL style.

The patch was using CRLF as well for until recent change in the C
runtime.
2019-11-18 13:52:49 +01:00
Campbell Barton
995b98aee2 Merge branch 'blender-v2.81-release' 2019-11-18 23:36:16 +11:00
Campbell Barton
1cb07530a9 Fix T71564: Undo stroke lags after entering sculpt mode
Regression since 2.80, see: T71434
2019-11-18 23:35:25 +11:00
Campbell Barton
d124545013 Fix wrong name for QuadriFlow undo step 2019-11-18 22:43:30 +11:00
Sergey Sharybin
8d4460b6c4 GHOST: Only spam about X11 errors when using --debug-ghost
This commit adds a new command line argument --debug-ghost and
makes it so X11 errors happening during context initialization
are only printed when this new flag is sued.

There is no need to flood users with errors when their GPU is
not supporting latest OpenGL version. Or, at a very minimum,
the error must be more meaning full.

Differential Revision: https://developer.blender.org/D6057
2019-11-18 09:28:17 +01:00
Campbell Barton
dc8be23234 Merge branch 'blender-v2.81-release' 2019-11-18 16:39:16 +11:00
Campbell Barton
11549098ea Merge branch 'blender-v2.81-release' 2019-11-18 16:39:10 +11:00
Campbell Barton
dfc232f892 Merge branch 'blender-v2.81-release' 2019-11-18 16:39:01 +11:00
Campbell Barton
99640d0622 Fix building on NetBSD 2019-11-18 16:27:06 +11:00
Campbell Barton
047d2b0559 CMake: GLEW_INCLUDE_PATH wasn't set for system glew 2019-11-18 16:26:32 +11:00
Campbell Barton
321afe0cd6 Fix building on 32bit systems 2019-11-18 16:25:59 +11:00
Ray Molenkamp
6d9d24e3d4 msvc: Use debug versions of tbb malloc for debug builds
Using the release versions gave unpredictable results when
the msvc debugger was attached for some developers.
2019-11-17 14:26:29 -07:00
Ray Molenkamp
67fa8d2307 Fix: Build error with msvc
std::min requires the algorithm header
2019-11-17 09:09:58 -07:00
Jörg Müller
fb1cbbaf46 Fix T71322: Crash in Audaspace with some video file
Getting upstream audaspace fixes for audio files with more than 8
channels.
2019-11-17 09:02:18 +01:00
Alexander Gavrilov
e385bdb228 Fix a bug in the T34039 hack in case when a modifier key is not mapped.
In order to recover from a transient Focus Out - Focus In disruption
in the middle of a shortcut, which can be caused by certain window
managers, Blender has code that checks which modifier keys are pressed
after Focus In and restores the modifier state based on that.

If one of the Ctrl, Shift, Alt, Super keys is not mapped anywhere
in the active keyboard layout, XKeysymToKeycode returns the invalid
zero keycode, and reading the key state produces garbage, which can
cause an invalid modifier state. Check the return value to avoid this.
2019-11-16 11:56:38 +03:00
Philipp Oeser
e5b788bad8 Fix T68191: Make-instances-real doesn't select the new instances
2.79 also did this [select the new instances] which was useful.
2.79 also kept the instancer selected [this patch deselects]

Reviewed By: mont29

Maniphest Tasks: T68191

Differential Revision: https://developer.blender.org/D6233
2019-11-15 21:45:52 +01:00
Campbell Barton
17cb32c7bc Merge branch 'blender-v2.81-release' 2019-11-16 03:34:19 +11:00
Campbell Barton
eba4a4bd73 Fix active bone flip not activating the wpaint vertex group 2019-11-16 03:32:23 +11:00
Campbell Barton
554321c6fb Merge branch 'blender-v2.81-release' 2019-11-16 02:49:45 +11:00
Campbell Barton
b266b1034f Cleanup: quiet warnings 2019-11-16 02:49:15 +11:00
Campbell Barton
d61f2cac18 Merge branch 'blender-v2.81-release' 2019-11-16 02:42:33 +11:00
Campbell Barton
69b587eb3e Merge branch 'blender-v2.81-release' 2019-11-16 02:42:27 +11:00
Campbell Barton
eb23c7660b Merge branch 'blender-v2.81-release' 2019-11-16 02:42:19 +11:00
Campbell Barton
4cf24c10e2 Merge branch 'blender-v2.81-release' 2019-11-16 02:42:07 +11:00
Campbell Barton
0384cc6f78 API Docs: don't show functions in 'bpy.app.handlers'
This shows the function and it's memory location,
it's not useful for docs so remove it.
2019-11-16 02:41:17 +11:00
Campbell Barton
4ca87085e0 API Docs: only document built-in types
Some types were documented in bpy.types aren't accessible there.

For now, disable documenting types from add-ons and some types from
bl_operators, bl_ui... since these are mostly for internal use.
2019-11-16 02:39:51 +11:00
Campbell Barton
dc726fed82 PyAPI: add class and module attributes to rna_info.InfoStructRNA
Module access is needed for documentation generation to exclude
non built-in modules.

This also fixes a bug creating references to non built-in types.
2019-11-16 02:39:51 +11:00