Commit Graph

75472 Commits

Author SHA1 Message Date
Campbell Barton
51c034686a DNA: rename camera YF_dofdist -> dof_distance 2019-02-16 09:43:33 +11:00
Campbell Barton
a2f345468c DNA: support DNA type & name aliases
This allows us to rename struct & struct members in the source code
without changing the file format.

This is useful because the code becomes increasingly confusing when
names such as oops, ipo & dupli aren't used anywhere except DNA headers.

dna_rename_defs.h is used to define renaming operations.

The renaming it's self will be done separately.
2019-02-16 09:32:29 +11:00
Campbell Barton
bc657ef16e DNA: warn about old versioning being incomplete
Also sync variable names w/ D4342
2019-02-16 08:51:00 +11:00
Dalai Felinto
eff3728db9 Fix T61512: Crash switching workspace with fullscreen area
In this case we simply create a new screen area that copies the currently
fullscreened area.

Note: At the moment there is no indicative in the non-main window that we are in
fullscreen. That happens because this information is part of the bar and we have
no topbar in this window.
2019-02-15 19:13:20 -02:00
Dalai Felinto
2b7752fb00 Fix T61210: Crash/inconsistency when clicking on obdata in outliner
The problem
===========
For armature, if the active object was in pose mode and the newly
selected armature data (not the pose, but the edit armature) we would
get a crash.

For mesh objects, the issue would happen with the active object in object mode.
Then the new selected object would switch to edit mode, however the overall
mode would still be object mode, leading to unsynced mode across the objects.

The solution
============
Using shift to extend selection makes current selected (compatible)
objects to go to edit mode as well. Otherwise only the newly selected
object will switch to edit mode.

This also works if you are in edit mode for a curve, and click in a mesh icon.

This also changes the rules for multi-object editing (or rather, how we
put objects in and out of it). Now shirt is also taking into
consideration there. So if you simply click in another mesh object's
data, it will have only the newly selected object in edit mode.

To reproduce the old behaviour you need to use shift to include the
newly selected object in the multi-edit party.

Reviewers: campbellbarton

Subscribers: brecht

Differential Revision: https://developer.blender.org/D4344
2019-02-15 15:52:46 -02:00
Brecht Van Lommel
db3bfd0633 Fix T61575: missing Cycles viewport updates when changing settings.
This reverts "Depsgraph: Don't tag original IDs", commit:
5f814cb3b4.
2019-02-15 18:43:33 +01:00
Antonioya
2f60b505c6 GP: Cleanup old ToDo 2019-02-15 18:12:32 +01:00
Philipp Oeser
7e3a395d86 Fix T61572: Crash when copy/pasting nodes
was caused by rBc6e3a20ab60b, copied node was actually added to the
nodetree, resulting in an endless loop.

Reviewers: brecht

Differential Revision: https://developer.blender.org/D4360
2019-02-15 18:03:25 +01:00
Sergey Sharybin
6e40e3489f Add global control over disabling high-resolution smoke draw
Can be found in the viewport's simplify panel, allows to easily
disable high-res display for all the smokes in the scene.
2019-02-15 17:55:24 +01:00
Sergey Sharybin
14c00cda39 Cleanup: More obvious name for the flag
Not sure what BIG is, it is HIGH RESOLUTION.
2019-02-15 17:29:01 +01:00
Sergey Sharybin
f15d810b1f Cleanup: Naming, BKE prefix
Done for smoke functions.

Smoke modifier functions seems an oddballs here,
but probably also to be renamed.
2019-02-15 17:29:01 +01:00
Dalai Felinto
f5ac1f444b Fix T61567: Object loose its rigid body data when moving to collection
At some I unified the "move to collection" with the remove from all collections
functionality. That meant that even when we were still to keep the object in one
of the collections we would clear its rigid body data.

Now why to even remove the rigidbody data when removing an object from all
collections? That mimics the 2.79 behaviour when we were to unlink an
object from a scene. I suspect it has to do with the rigid body data
being tied to the scene rigid body. Which is a strange design anyways
(add to the list?) since an object can be in more than one scene.
2019-02-15 13:04:18 -02:00
Sergey Sharybin
512bbf3748 Cleanup: Line wrapping 2019-02-15 16:00:54 +01:00
Sergey Sharybin
bcc619532f Depsgraph: Speedup constraint source lookup
Is mainly used by drivers variables. The slow part was about
iterating over all pose channels to find the one which has a
given constraint.

Now we build a look up table, so this operation is way cheaper,

Brings down relations update time from 0.7sec to 0.4 with Spring
production file.
2019-02-15 15:43:11 +01:00
Sergey Sharybin
0ecd587991 Depsgraph: Move RNA lookup to an own query class
Currently should have no functional changes, but allows to
implement runction optimizations more localized and easily.
2019-02-15 15:42:58 +01:00
Sergey Sharybin
373b8e311d Depsgraph: Correct logging of build time 2019-02-15 15:42:58 +01:00
Sergey Sharybin
7ee6635105 Cleanup: Indentation 2019-02-15 15:42:28 +01:00
Howard Trickey
faa255c0a4 Bevel: remove workspace text message when exiting bevel.
The message with shortcuts was hanging around after bevel
exited.
2019-02-15 09:15:32 -05:00
Howard Trickey
dd97b09fa8 Bevel: fix twist on bevel of cylinder with >= 200 sides.
This triggered an "almost parallel" case in setting the
offset meet points, which is OK but code needed improvement
put the meet point in a more accurate place.
This ia fix for part of the report T61214.
2019-02-15 08:32:07 -05:00
Sergey Sharybin
a5cbe81bed Depsgraph: Show build time on --debug-depsgraph-time
Previously was only shown on --debug-depsgraph-build which
had other unwanted noise.
2019-02-15 12:29:06 +01:00
Antonioya
00fc604478 Fix T61570: Monkey primitive fill color wrong
This was introduced by error in a previous commit.
2019-02-15 12:00:43 +01:00
Sergey Sharybin
872ff507a2 Fix Spring characters being in the rest pose on file open
This partially reverts bf2c5217 and makes it so animation is evaluated
for datablocks which were never evaluated within the dependency graph.

Not ideal, but safest way currently.

Animation for already evaluated datablocks will only be evaluated on
manual edits, so the initial bugfix is still valid.
2019-02-15 10:55:12 +01:00
Sergey Sharybin
e98ef47ed3 Cleanup: Argument wrapping 2019-02-15 10:52:53 +01:00
Sergey Sharybin
5f814cb3b4 Depsgraph: Don't tag original IDs
This is unreliable for cases when multiple dependency graphs
are to be updated.

The only reason why it was attempted to be made is to deal
with cases when ID appears in the dependency graph for the
first time. But even then it should be smart enough bring
itself to an up-to-date state without any extra tricks.
2019-02-15 09:25:26 +01:00
Sergey Sharybin
42c53e054f Cleanup: Attempt to clarify some ID_RECALC flags 2019-02-15 09:25:26 +01:00
Campbell Barton
d17a027034 Fix DNA struct member versioning logic
Possible error changing names which are shared between structs.
While the problem doesn't occur at the moment, avoid future problems.
2019-02-15 18:17:58 +11:00
Campbell Barton
925b202641 Cleanup: sync minor changes from D4342
Use naming conventions from the patch so they match when it's applied.
2019-02-15 17:22:33 +11:00
Campbell Barton
d132c44652 UI: impossible to activate RMB menu on menu items
Right clicking on a menu item now closes it's sub-menus and opens
the button's context menu.

This is needed for adding them to the quick favourites menu.

Resolves T58729, T61015.
2019-02-15 16:13:28 +11:00
Campbell Barton
90f6fd0a36 Fix T60905: Crash using smooth tool
Tools were relying on gizmos drawing to initialize their gizmos,
now tool gizmos are initialized immediately.
2019-02-15 13:32:31 +11:00
Campbell Barton
796abc90a8 Fix T58090: Selected curve vertex should stand out
D4002 by @slumber w/ edits.

Use text colors, blending to background if they don't contrast.
2019-02-15 11:58:36 +11:00
Campbell Barton
986d480566 makesdna: correct function docs
Also use doxy sections & remove parens from return values.
2019-02-15 10:41:10 +11:00
Howard Trickey
5c432cd11b Fix T61427: Bevel crash with patch miter.
The adjustment phase had broken assumptions after adding miters,
and sent a null problem to eigen. Fixed code to check assumptions.
2019-02-14 17:21:50 -05:00
Brecht Van Lommel
0f135f80f2 Fix outliner box select not working when using search filter. 2019-02-14 20:08:48 +01:00
Brecht Van Lommel
7a41c1634b Merge branch 'blender2.7' 2019-02-14 20:00:37 +01:00
Brecht Van Lommel
9886ae6331 Fix T61470: incorrect saturation clamping in recent bugfix.
We should clamp the result after multiplication.
2019-02-14 19:28:44 +01:00
Francesco Siddi
349357a7bd UI: reword error message when Python script fails.
Differential Revision: https://developer.blender.org/D4353
2019-02-14 18:17:00 +01:00
Antonioya
6995d51c75 GP: Don't activate Fill for new materials
As the fill color alpha is set to zero, it's better keep fill option disabled.
2019-02-14 16:52:14 +01:00
Antonioya
76747d0a11 GP: Avoid eraser in empty frames and add warning.
Also capture event to avoid Move transform.

Note: Now it's using a report message. Maybe this can be removed, but without the message, the event is captured by move transform.
2019-02-14 16:52:14 +01:00
Antonioya
a2510434bb GP: Do not draw in Locked or Invisible layers
It's weird to draw in a layer where the stroke cannot be seen or is not saved.
2019-02-14 16:52:14 +01:00
Bastien Montagne
fa7149893a Cleanup: replace Main ID's foreach functions by macros.
Am really no a big fan of using macros for that kind of things, but
meh... C solution to do that with functions (using callbacks) is
even worse. :(
2019-02-14 16:26:32 +01:00
Sebastian Parborg
4f92037158 Fix T61536: can't snap vertex to another vertex in edit mode using curves
Previously, the curve self snapping would only snap to points that were
earlier in the curve structure. This was because of a simple coding
snafu of using break when meaning to use continue.
2019-02-14 14:54:05 +01:00
Philipp Oeser
87bba05d25 Fix T61520: Incorrect assignment of layers to compositor nodes in 2.8 when reading 2.79 .blend
Reviewers: brecht

Maniphest Tasks: T61520

Differential Revision: https://developer.blender.org/D4352
2019-02-14 13:55:35 +01:00
Campbell Barton
8d421f3d9b Fix T56665: Assert when selecting object
Selecting object w/ a different mode missed refreshing the screen
areas current tool.
2019-02-14 23:34:32 +11:00
Campbell Barton
c6cbcf83d0 Fix T61472: Hide Unselected fails w/ no selection
Also skip mesh recalculation when no hide/reveal is performed.
2019-02-14 18:01:30 +11:00
Campbell Barton
6074f62d1a Fix T61353: Crash converting a curve to a mesh
This was caused by curves pointing to each other
creating a cyclic dependency.

While the dependency graph detects this, generating a mesh for render
recursively generates data which cashes in this case.

Add in a check to detect cyclic links.

Note, this bug exists in 2.7x too - but only crashes on render
since 2.7x didn't use 'for_render' when converting data.
2019-02-14 17:21:55 +11:00
Campbell Barton
caa8e7ff28 DRW: de-duplicate vertex & weight paint engines
These were almost exact duplicates, use one engine for drawing both
kinds of vertex color.
2019-02-14 15:22:58 +11:00
Campbell Barton
9478ac701b DRW: use light wire for weight paint mode
Black wire can be hard to see against dark blue,
especially when shading is enabled.

Use light grey, matches 2.7x.
2019-02-14 15:22:58 +11:00
Campbell Barton
7280d9d1e4 DRW: Increase weight paint wire depth bias
By default wire would z-fight against the surface.
Increase the bias, also don't adjust the 'w' component
since it causes bias that depends on the view direction.
2019-02-14 15:22:58 +11:00
Campbell Barton
c12b29e884 Cleanup: vertex painting variable use
Assign to local variables when setting up passes,
avoids mix-up between similarly named struct members.
2019-02-14 13:08:49 +11:00
Campbell Barton
37b7a5c8b8 Fix vertex/weight paint showing edge selection
When vertex/face selection are disabled - show all wire
ignoring selection & hidden state.
2019-02-14 12:40:21 +11:00