4 years agoMerge branch 'master' into blender2.8
Bastien Montagne [Thu, 12 Jan 2017 11:59:45 +0000 (12:59 +0100)]
Merge branch 'master' into blender2.8

4 years agoCycles: move hair particle settings to scene context
Sergey Sharybin [Tue, 11 Oct 2016 14:33:07 +0000 (16:33 +0200)]
Cycles: move hair particle settings to scene context

Since the beginning of times hair settings in cycles were global for
the whole scene but were located in the particle context. This causes
quite some trickery to get shots set up for the movies here in the
studio by forcing artists to create dummy particle system to change
settings of hair on the shot.

While ideally this settings should be properly become per-particle
system for the time being it will save sweat and blood to move the
settings to scene context.

Reviewers: brecht

Subscribers: jtheninja, eyecandy, venomgfx, Blendify

Differential Revision:

4 years agoCycles tests: Rework output messages
Sergey Sharybin [Thu, 12 Jan 2017 08:45:04 +0000 (09:45 +0100)]
Cycles tests: Rework output messages

Made them closer to how GTest shows the output, so reading test logs
is easier now (at least feels more uniform).

Additionally now we know how much time tests are taking so can tweak
samples/resolution to reduce render time of slow tests.

It is now also possible to enable colored messages using magic
CYCLESTEST_COLOR environment variable. This makes it even easier to
visually grep failed/passed tests using `ctest -R cycles -V`.

4 years agoAdd Add Modifiers tab to the NLA & VSE editors
Aaron Carlisle [Thu, 12 Jan 2017 06:03:23 +0000 (01:03 -0500)]
Add Add Modifiers tab to the NLA & VSE editors

This is a follow up to rBca935ab

Differential Revision:

4 years agoFix T50056: Dyntopo brush size shortcut broken using constant detail setting.
Julian Eisel [Wed, 11 Jan 2017 22:01:07 +0000 (23:01 +0100)]
Fix T50056: Dyntopo brush size shortcut broken using constant detail setting.

4 years agoUI: Try limiting 'x' icon to search buttons
Julian Eisel [Wed, 11 Jan 2017 21:11:13 +0000 (22:11 +0100)]
UI: Try limiting 'x' icon to search buttons

Reusing PROP_TEXTEDIT_UPDATE instead of adding a new property flag just for search strings. Currently it's only used for search strings anyway so seems fine for now.

Fixes T50336.

4 years agoSplit interp_weights_face_v3 into specific functions for tris and quads
Luca Rood [Wed, 11 Jan 2017 17:15:54 +0000 (15:15 -0200)]
Split interp_weights_face_v3 into specific functions for tris and quads

This splits `interp_weights_face_v3` into `interp_weights_tri_v3` and
`interp_weights_quad_v3`, in order to properly handle three sided polygons
without needing a useless extra index in your weight array. This also
improves clarity and consistency with other math_geom functions, thus
reducing potential future errors.

Reviewed By: mont29

Differential Revision:

4 years agoViewport SSAO: Fix normals not normalized
Clément Foucault [Wed, 11 Jan 2017 17:47:06 +0000 (18:47 +0100)]
Viewport SSAO: Fix normals not normalized

4 years agoCycles: Fix wrong motion blur when combining deformation motion blur with autosplit
Sergey Sharybin [Wed, 11 Jan 2017 15:32:57 +0000 (16:32 +0100)]
Cycles: Fix wrong motion blur when combining deformation motion blur with autosplit

The issue was that we used to compare number of vertices for mesh after the auto
smooth was applied (at the center of the shutter time) with number of vertices
prior to the auto smooth applied. This caused false-positive consideration of a
mesh as changing topology.

Now we do autosplit as early as possible and do it from blender side, so Cycles
does not need to re-implement splitting on it's side.

4 years agoCycles: Pass explicit subdivision type to object_to_mesh
Sergey Sharybin [Wed, 11 Jan 2017 15:23:54 +0000 (16:23 +0100)]
Cycles: Pass explicit subdivision type to object_to_mesh

This allows us to do some extra logic checks there based on particular
subdivision type.

Additionally avoids implicit cast of enum to bool.

4 years agoCopy autosmooth mesh settings BKE_mesh_new_from_object
Sergey Sharybin [Wed, 11 Jan 2017 15:04:39 +0000 (16:04 +0100)]
Copy autosmooth mesh settings BKE_mesh_new_from_object

This way render engine can first apply all modifiers on the
new mesh and then optionally perform autosmooth face splitting
on it.

4 years agoRNA: Expose autosmooth face splitting
Sergey Sharybin [Wed, 11 Jan 2017 14:59:32 +0000 (15:59 +0100)]
RNA: Expose autosmooth face splitting

This way render engine can request mesh to be auto-split and not
worry about implementing this functionality on it's own.

Please note that this split is to be performed prior to tessellation.

4 years agoCycles: Cleanup, whitespace around operator
Sergey Sharybin [Wed, 11 Jan 2017 14:16:22 +0000 (15:16 +0100)]
Cycles: Cleanup, whitespace around operator

4 years agoCycles: Improve logging of cases when motion blur is disabled
Sergey Sharybin [Wed, 11 Jan 2017 13:34:56 +0000 (14:34 +0100)]
Cycles: Improve logging of cases when motion blur is disabled

Next logical step is to expose this somehow to the interface.

4 years agoMerge remote-tracking branch 'origin/master' into blender2.8
Dalai Felinto [Wed, 11 Jan 2017 08:44:25 +0000 (09:44 +0100)]
Merge remote-tracking branch 'origin/master' into blender2.8

4 years agoFix building with INPUT_NDOF after warning cleanup
Dalai Felinto [Wed, 11 Jan 2017 08:42:48 +0000 (09:42 +0100)]
Fix building with INPUT_NDOF after warning cleanup

Reported by Clément Foucault

4 years agoCleanup: Use more meaningful constants other than 0
Sergey Sharybin [Tue, 10 Jan 2017 23:08:16 +0000 (00:08 +0100)]
Cleanup: Use more meaningful constants other than 0

4 years agoAdd mid_v3_v3_array function and remove redundant functions
Luca Rood [Tue, 10 Jan 2017 19:46:31 +0000 (17:46 -0200)]
Add mid_v3_v3_array function and remove redundant functions

Other than implementing a `mid_v3_v3_array` function, this removes
`cent_tri_v3` and `cent_quad_v3` in favor of `mid_v3_v3v3v3` and
`mid_v3_v3v3v3v3` respectively.

Reviewed By: mont29

Differential Revision:

4 years agoFix warnings (mostly unused arguments)
Dalai Felinto [Tue, 10 Jan 2017 17:17:29 +0000 (18:17 +0100)]
Fix warnings (mostly unused arguments)

4 years agoUI Layout: fix some cases mixing fixed and expandable sizes
Bastien Montagne [Tue, 10 Jan 2017 15:19:10 +0000 (16:19 +0100)]
UI Layout: fix some cases mixing fixed and expandable sizes

When layout has only small buttons (buttons with icon and without label)
its size should be fixed. Code was modified to be able to add a new UI_ITEM_MIN
flag which indicates that the layout has only small fixed-width buttons.

Patch by @raa, with minor style edits by @mont29.

Reviewers: Severin, mont29

Reviewed By: mont29

Tags: #bf_blender, #user_interface

Differential Revision:

4 years agoFix T49861: Interlace stereo drawing
Dalai Felinto [Mon, 9 Jan 2017 16:58:13 +0000 (17:58 +0100)]
Fix T49861: Interlace stereo drawing

This does not address stapling shader in 2.8, though the solution can be
similar (own shader, not polutting interlace shader).

part of T49043

Reviewers: merwin

Differential Revision:

4 years agoCleanup: Strict CLang warning in Smoke module
Sergey Sharybin [Mon, 9 Jan 2017 12:12:43 +0000 (13:12 +0100)]
Cleanup: Strict CLang warning in Smoke module

4 years agoCleanup: Indentation
Sergey Sharybin [Mon, 9 Jan 2017 12:11:42 +0000 (13:11 +0100)]
Cleanup: Indentation

4 years agoCleanup: Don't use C++ comments style in C code
Sergey Sharybin [Mon, 9 Jan 2017 11:35:08 +0000 (12:35 +0100)]
Cleanup: Don't use C++ comments style in C code

4 years agoFix for T50373: lattices should not be able to get subsurf modifiers
Philipp Oeser [Mon, 9 Jan 2017 11:24:34 +0000 (12:24 +0100)]
Fix for T50373: lattices should not be able to get subsurf modifiers

Reviewers: mont29

Reviewed By: mont29

Subscribers: sergey

Differential Revision:

4 years agoFix T50385: Deadlock in BKE_libblock_remap_locked.
Bastien Montagne [Mon, 9 Jan 2017 09:43:23 +0000 (10:43 +0100)]
Fix T50385: Deadlock in BKE_libblock_remap_locked.

Am pretty sure node update should not touch to Main database like that,
but for now let's allow it, I guess the hack is needed for things like
Sverchok. ;)

4 years agoFix: Audio plays back incorrectly after rendering to a video file
Jörg Müller [Fri, 6 Jan 2017 17:18:20 +0000 (18:18 +0100)]
Fix: Audio plays back incorrectly after rendering to a video file


4 years agoMake button span the full width of the properties editor
Aaron Carlisle [Thu, 5 Jan 2017 20:41:14 +0000 (15:41 -0500)]
Make button span the full width of the properties editor

4 years agoRemove instances of old vector icons
Aaron Carlisle [Thu, 5 Jan 2017 04:21:45 +0000 (23:21 -0500)]
Remove instances of old vector icons

I checked and this makes consistent with other area of blender.

4 years agoMerge branch 'master' into blender2.8
Julian Eisel [Wed, 4 Jan 2017 23:31:15 +0000 (00:31 +0100)]
Merge branch 'master' into blender2.8


4 years agoShow 'Manipulate Center Points' in weight paint mode
Julian Eisel [Wed, 4 Jan 2017 23:09:42 +0000 (00:09 +0100)]
Show 'Manipulate Center Points' in weight paint mode

If the active object is in weight paint mode, but some armatures in pose mode, 'manipulate center points' still affects the transformation. See bd2034a749a9a9.

Also removed redundant check, we basically did the same check for paint modes twice.

4 years agoDynamic Paint: Fix random pixel flooding by absolute brush with spread.
Alexander Gavrilov [Wed, 4 Jan 2017 16:40:34 +0000 (19:40 +0300)]
Dynamic Paint: Fix random pixel flooding by absolute brush with spread.

If a very low wetness absolute alpha brush is used with spread and
drying effects enabled, some pixels will rapidly accumulate paint.
This happens because paint drying code applies a minimal wetness
threshold that causes the paint to instantly dry out.

Specifically, every frame the brush adds paint at the specified
absolute alpha and wetness set to the minimal threshold, spread
drops it below threshold, and finally drying moves all paint to
the dry layer. This drastically accelerates the rate of flow of
paint into the affected pixels.

Fortunately, the reason paint spread actually ends up decreasing
wetness turns out to be a simple floating point precision problem,
which can be easily fixed by restructuring the affected expression.

4 years agoFix (IRC reported) bad handling of Text data-block user count.
Bastien Montagne [Wed, 4 Jan 2017 13:07:38 +0000 (14:07 +0100)]
Fix (IRC reported) bad handling of Text data-block user count.

Reported on IRC by dfelinto, thanks.

Root of the issue was that opening a new text file would create
datablock with one user, when Text editor is actually a 'user one' user.

This was leaving Text datablocks in inconsitent user count, and
generating asserts in BKE_library area.

Also changed a weird piece of code related to that extra user thing in
main remapping func.

4 years agoFix T50369: Objects can't be deleted from scene when using "link group objects to...
Bastien Montagne [Wed, 4 Jan 2017 09:25:27 +0000 (10:25 +0100)]
Fix T50369: Objects can't be deleted from scene when using "link group objects to scene"

Main issue here was that in old usercount system 'user_real' did simply
not allow that kind of thing to work. With new pait of 'USER_EXTRA'
tags, it becomes possible to handle the case correctly, by merely refining
checks about indirectly use objects whene removing them from a scene.

Incidently, found another related bug, 'link group objects to scene' was not
incrementing objects' usercount - bad, very very bad!

4 years agoFix T50350: Quick Explode time frame problem
Dalai Felinto [Wed, 4 Jan 2017 09:13:28 +0000 (10:13 +0100)]
Fix T50350: Quick Explode time frame problem

The settings.frame_start rna was clamping frame start to frame end when frame start was bigger than frame end.
The fix is simply to set frame end first

4 years agoRevert "Remove double menu entries"
Aaron Carlisle [Tue, 3 Jan 2017 15:34:05 +0000 (10:34 -0500)]
Revert "Remove double menu entries"

This reverts commit e2d7efc9503720770b9652284e25006eecbec8d4.

4 years agoFix implicit size_t to int conversion.
Bastien Montagne [Tue, 3 Jan 2017 14:30:59 +0000 (15:30 +0100)]
Fix implicit size_t to int conversion.

Seems like it was erroring on some buildbots...

4 years agoFix: NLA "Strip Time" setting cannot be edited
Joshua Leung [Mon, 2 Jan 2017 22:42:50 +0000 (11:42 +1300)]
Fix: NLA "Strip Time" setting cannot be edited

This is a hacky fix for a regression introduced sometime after 2.76.
The "Strip Time" setting on NLA Strips could not be edited without the
value immediately jumping back to the current FCurve value (or 0.0 if no
keyframes existed); even enabling autokey wouldn't let you key the property.

Until we have proper overrides (that only lose their values on frame change),
it's best that this setting is editable, even if it does mean it you have to
manually change the frame to see the updated values.

4 years agoMerge remote-tracking branch 'origin/master' into blender2.8
Dalai Felinto [Mon, 2 Jan 2017 10:34:05 +0000 (11:34 +0100)]
Merge remote-tracking branch 'origin/master' into blender2.8

I'm deliberately ignoring/reverting rB070f22c4 which in turns means T49861 is happening on 2.8

4 years agoGPencil: Per-layer option to always show onion skinning
Joshua Leung [Mon, 2 Jan 2017 10:31:35 +0000 (23:31 +1300)]
GPencil: Per-layer option to always show onion skinning

Sometimes it can be useful to be able to keep onion skins visible in the
OpenGL renders and/or when doing animation playback. In particular, there
are two use cases where this is quite useful:
 1) For creating a cheap motion-blur effect, especially when the before/after
    values are also animated.
 2) If you've animated a shot with onion skinning enabled, the poses may end
    up looking odd if the ghosts are not shown (as you may have been accounting
    for the ghosts when making the compositions).

This option can be found as the small "camera" toggle between the "Use Onion Skinning"
and "Use Custom Colors" options.

4 years agoFix: Passed wrong last argument to function
Joshua Leung [Thu, 29 Dec 2016 01:34:39 +0000 (14:34 +1300)]
Fix: Passed wrong last argument to function

4 years agoMerge remote-tracking branch 'origin/master' into blender2.8
Dalai Felinto [Mon, 2 Jan 2017 10:31:03 +0000 (11:31 +0100)]
Merge remote-tracking branch 'origin/master' into blender2.8

4 years agoFix T49861: Interlace stereo is broken in 2.78
Dalai Felinto [Mon, 2 Jan 2017 10:27:36 +0000 (11:27 +0100)]
Fix T49861: Interlace stereo is broken in 2.78

This is a regression introduced in rB5bd9e832

It looks more like a hack than a proper fix, but the shader logic
changed a lot for blender2.8, so I would rather do the elegant fix
there, while leaving master working.

If we ever do a 2.78b (or 2.79) this should get in.

4 years agoAPI: Fix rst syntax
Aaron Carlisle [Mon, 2 Jan 2017 05:33:15 +0000 (00:33 -0500)]
API: Fix rst syntax

4 years agoAPI: Fix redirect in bgl page
Aaron Carlisle [Mon, 2 Jan 2017 05:24:40 +0000 (00:24 -0500)]
API: Fix redirect in bgl page

4 years agoAPI: Update to modern sphinx syntax
Aaron Carlisle [Mon, 2 Jan 2017 04:54:24 +0000 (23:54 -0500)]
API: Update to modern sphinx syntax

4 years agoCleanup: redundant assignment in rect resize
Campbell Barton [Mon, 2 Jan 2017 02:55:48 +0000 (13:55 +1100)]
Cleanup: redundant assignment in rect resize

4 years agoAPI: Fix double slashes in URLs
Aaron Carlisle [Mon, 2 Jan 2017 00:42:37 +0000 (19:42 -0500)]
API: Fix double slashes in URLs

4 years agoFix T50305: When adding new ID with same name as existing, Blender could generate...
Bastien Montagne [Sun, 1 Jan 2017 01:27:03 +0000 (02:27 +0100)]
Fix T50305: When adding new ID with same name as existing, Blender could generate invalid utf-8 ID name.

`check_for_dupid()` would roughly truncate existing name, without doing any utf-8 validation.

4 years agoFix (unreported) fully broken 'sanitize utf-8' helper.
Bastien Montagne [Sun, 1 Jan 2017 01:15:42 +0000 (02:15 +0100)]
Fix (unreported) fully broken 'sanitize utf-8' helper.

That code was a joke, letting some invalid utf8 bytes pass, returning
wrong offset for some invalid sequences, not to mention length and
pointer easily going out of sync, NULL final byte being 'forgotten' by
memcpy, etc. etc.

The miracle here is that we could survive using this for so long!
Probably because we do not use utf-8 sanitizing enough in Blender,
actually... :/

4 years agoAdd BLI_string_utf8 specific test.
Bastien Montagne [Sat, 31 Dec 2016 15:06:51 +0000 (16:06 +0100)]
Add BLI_string_utf8 specific test.

This test should ensure we correctly detect all invalid utf-8 sequences in a given string.

Do not run this with current code - you'll either laugh or cry, nearly *all* checks fail!

Based on utf-8 decoder stress-test (
by Markus Kuhn <> - 2015-08-28 - CC BY 4.0

4 years agoFix missing `particlemode` context mode, after recent particle-removal revert.
Lukas Tönne [Fri, 30 Dec 2016 11:13:21 +0000 (12:13 +0100)]
Fix missing `particlemode` context mode, after recent particle-removal revert.

This caused the particle mode tools panel to appear in object mode, where it
misses some contextual data and spews python exceptions.

4 years agoMerge branch 'master' into blender2.8
Bastien Montagne [Thu, 29 Dec 2016 18:57:42 +0000 (19:57 +0100)]
Merge branch 'master' into blender2.8

Please **DO NOT** add changes from master when it's totally uneeded!

Changes to BLI_ area most certainly shall *always* be done in master,
there is absolutely no point in adding more diff between the two
branches than needed, will only makes merging more cumbersome!


4 years agoAdd new operator, ED_OT_undo_redo, to allow py tools to trigger that action.
Bastien Montagne [Thu, 29 Dec 2016 11:38:20 +0000 (12:38 +0100)]
Add new operator, ED_OT_undo_redo, to allow py tools to trigger that action.

Patch D2430 by @raa, thanks.

4 years agoFix T50334: Also select indirectly imported objects when linking/appending.
Bastien Montagne [Thu, 29 Dec 2016 11:17:23 +0000 (12:17 +0100)]
Fix T50334: Also select indirectly imported objects when linking/appending.

Since we create a base and instantiate them, they become directly
linked, so makes sense to also select them if requested.

4 years agoFreestyle: fix typo in console message.
Bastien Montagne [Thu, 29 Dec 2016 09:34:59 +0000 (10:34 +0100)]
Freestyle: fix typo in console message.

Patch D2270 by Anthony Edlin (@krash), thanks.

4 years agoEdits to user prefs NDOF UI
Aaron Carlisle [Thu, 29 Dec 2016 06:09:11 +0000 (01:09 -0500)]
Edits to user prefs NDOF UI

Small changes:

- Remove "NDOF" from each setting
- Change tooltip for deadzone
- Unrelated typo in cmake comment

Reviewers: merwin, Severin

Reviewed By: merwin, Severin

Tags: #bf_blender, #user_interface

Differential Revision:

4 years agoFix T49848: bevel of spiral gets bigger and bigger widths.
Howard Trickey [Wed, 28 Dec 2016 18:55:19 +0000 (13:55 -0500)]
Fix T49848: bevel of spiral gets bigger and bigger widths.

This is the same issue as was fixed with T39486: the adjustment pass
that tries to equalize different widths at either end of an edge
sometimes causes the widths to get bigger and bigger.
The previous fix was to let "clamp_overlap" do double duty as a way
to limit this behavior. But clearly this is undiscoverable, as the
current bug report shows.  So I put in an "auto-limiting" mode that
detects when adjustments are going crazy and then acts as if
clamp_overlap were set.
The reason we can't always act as if clamp_overlap is set is that
certain models (e.g., Bent_test in regression tests) look bad if
that is enabled.

4 years agoRevert particle system and point cache removal in blender2.8 branch.
Lukas Tönne [Wed, 28 Dec 2016 16:30:58 +0000 (17:30 +0100)]
Revert particle system and point cache removal in blender2.8 branch.

This reverts commit 5aa19be91263a249ffae75573e3b32f24269d890 and b4a721af694817fa921b119df83d33ede7d7fed0.

Due to postponement of particle system rewrite it was decided to put particle code
back into the 2.8 branch for the time being.

4 years agoUI: Make icon-only buttons for enum items with empty label.
Bastien Montagne [Wed, 28 Dec 2016 14:07:18 +0000 (15:07 +0100)]
UI: Make icon-only buttons for enum items with empty label.

Patch D2420 by @raa, thanks.

4 years agoVarious UI message and API doc tweaks and fixes.
Bastien Montagne [Wed, 28 Dec 2016 13:37:08 +0000 (14:37 +0100)]
Various UI message and API doc tweaks and fixes.

Mostly from patch D2256 by Aaron Carlisle (@Blendify), thanks!

4 years agoUpdate manual links in 'add object' py template.
Bastien Montagne [Wed, 28 Dec 2016 13:25:06 +0000 (14:25 +0100)]
Update manual links in 'add object' py template.

Patch D2328 by @blendify, thanks.

4 years agoMinor UI message fix.
Bastien Montagne [Wed, 28 Dec 2016 13:17:15 +0000 (14:17 +0100)]
Minor UI message fix.

Based on D2436 by @blendify, thanks.

4 years agoTweak error message when external image editor launching fails.
Bastien Montagne [Wed, 28 Dec 2016 13:09:02 +0000 (14:09 +0100)]
Tweak error message when external image editor launching fails.

Include idea that Blender may fail to launch it even if path is correct,
in some cases (dear Windows...).

Based on idea from @lijenstina and @blendify (D2349), thanks.

4 years agoAlso apply similar fixes to .keyframe_delete()
Joshua Leung [Wed, 28 Dec 2016 10:27:46 +0000 (23:27 +1300)]
Also apply similar fixes to .keyframe_delete()

- T49816

4 years agoFix T49816: Keyframing NLA Strip influence from Python set keyframes in the wrong...
Joshua Leung [Wed, 28 Dec 2016 10:20:25 +0000 (23:20 +1300)]
Fix T49816: Keyframing NLA Strip influence from Python set keyframes in the wrong place

4 years agoFix T50184: Grease Pencil Layer synchronization between Dope Sheet and Properties...
Joshua Leung [Wed, 28 Dec 2016 03:54:57 +0000 (16:54 +1300)]
Fix T50184: Grease Pencil Layer synchronization between Dope Sheet and Properties panel

4 years agoFix T49479: Freestyle inconsistent line drawing with large geometry dimension.
Tamito Kajiyama [Wed, 28 Dec 2016 09:05:28 +0000 (18:05 +0900)]
Fix T49479: Freestyle inconsistent line drawing with large geometry dimension.

Ray-plane intersection routine GeomUtils::intersectRayPlane() was used with an
unnormalized direction vector as input.

4 years ago3D View roll & orbit were scaling view-quat length
Campbell Barton [Wed, 28 Dec 2016 06:44:36 +0000 (17:44 +1100)]
3D View roll & orbit were scaling view-quat length

Over time roll and orbit would scale the quaternion
which is documented as unit length.

In practice any errors would be subtle,
but better normalize as other operators do.

4 years agoComments: mul_project_m4_v3_zfac
Campbell Barton [Wed, 28 Dec 2016 04:35:59 +0000 (15:35 +1100)]
Comments: mul_project_m4_v3_zfac

4 years agoFix T50240: Rendering crashes when synced to JACK Transport
Jörg Müller [Tue, 27 Dec 2016 19:47:01 +0000 (20:47 +0100)]
Fix T50240: Rendering crashes when synced to JACK Transport

Disabling synchronization while rendering.
Using G.is_rendering as suggested by bastien. ;-)

4 years agoFix T50305: Blender truncates a long multibyte character object's name to an invalid...
Bastien Montagne [Tue, 27 Dec 2016 15:39:19 +0000 (16:39 +0100)]
Fix T50305: Blender truncates a long multibyte character object's name to an invalid utf-8 string.

Add logic in RNA to ensure we pass valid utf8 string to BKE ID new functions...

4 years agoComments: hints for perspective functions
Campbell Barton [Tue, 27 Dec 2016 04:30:11 +0000 (15:30 +1100)]
Comments: hints for perspective functions

Note which GL functions these are equivalent to.

4 years agoCorrect bad cast, unused var warning
Campbell Barton [Tue, 27 Dec 2016 04:27:38 +0000 (15:27 +1100)]
Correct bad cast, unused var warning

4 years ago[MSVC] Fix test for C++11 support for vc2015/2017 based on D2432 by Ulysse Martin...
Ulysse Martin [Sat, 24 Dec 2016 17:37:10 +0000 (10:37 -0700)]
[MSVC] Fix test for C++11 support for vc2015/2017 based on D2432 by Ulysse Martin (youle)

4 years agoMerge remote-tracking branch 'origin/master' into blender2.8
Dalai Felinto [Fri, 23 Dec 2016 14:36:16 +0000 (15:36 +0100)]
Merge remote-tracking branch 'origin/master' into blender2.8

4 years agoFix (unreported) crash in 'Match movie length operator' in case of lost video texture...
Alexander Romanov [Fri, 23 Dec 2016 13:51:26 +0000 (16:51 +0300)]
Fix (unreported) crash in 'Match movie length operator' in case of lost video texture file

4 years agoReadfile: Resurrect do_versions_after_liblink.
Bastien Montagne [Fri, 23 Dec 2016 11:54:51 +0000 (12:54 +0100)]
Readfile: Resurrect do_versions_after_liblink.

Basic idea is to store fileversion in Library datablock, and split again
Main by libraries after lib linking, do_versions_after_liblink on
those separated Mains, and merge again.

This allows to still have correct versions for each data-block in that
second do_versions step.

Note that this is not used currently in master (might be soon, though),
but is needed for 2.8 work.

4 years agoFix (unreported) `--threads` option no more respected by main task scheduler.
Bastien Montagne [Thu, 22 Dec 2016 20:58:57 +0000 (21:58 +0100)]
Fix (unreported) `--threads` option no more respected by main task scheduler.

Main scheduler would be created way before `-t` argument would be
parsed, since it was on forth pass! Moved it to first pass of argparse,
that kind of stuff should be initialized asap on startup.

4 years agoFix wrong return type in blenderplayer stubs
Julian Eisel [Thu, 22 Dec 2016 01:35:34 +0000 (02:35 +0100)]
Fix wrong return type in blenderplayer stubs

4 years agoFix strict compiler warning in generated C++ RNA
Sergey Sharybin [Tue, 20 Dec 2016 09:23:55 +0000 (10:23 +0100)]
Fix strict compiler warning in generated C++ RNA

4 years agoOpensSubdiv: Cleanup, unused argument
Sergey Sharybin [Tue, 20 Dec 2016 09:23:36 +0000 (10:23 +0100)]
OpensSubdiv: Cleanup, unused argument

4 years agoLibmv: Fix missing virtual destructor in frame access sub-class
Sergey Sharybin [Tue, 20 Dec 2016 09:22:54 +0000 (10:22 +0100)]
Libmv: Fix missing virtual destructor in frame access sub-class

This is undefined behavior in C++ and Clang was complaining a lot
about this.

4 years agoString drawing function for the "simdebug" utilities.
Lukas Tönne [Tue, 20 Dec 2016 10:01:08 +0000 (11:01 +0100)]
String drawing function for the "simdebug" utilities.

Simple string drawing API for debug drawing, in addition to basic primitives.

4 years agoFix parameter error (changes by Mike Erwin)
Antonio Vazquez [Mon, 19 Dec 2016 21:36:56 +0000 (22:36 +0100)]
Fix parameter error (changes by Mike Erwin)

4 years agoFix (unreported) linked datablocks going through do_versions several times.
Bastien Montagne [Mon, 19 Dec 2016 15:28:41 +0000 (16:28 +0100)]
Fix (unreported) linked datablocks going through do_versions several times.

When linking data-blocks from same library in several steps, the already
linked data-blocks of same lib would go again through versionning code...

Note: only fixed for libraries, I can't imagine how this could happen
with local data...

4 years agoCleanup: rename paramenter to right name
Antonio Vazquez [Mon, 19 Dec 2016 11:28:51 +0000 (12:28 +0100)]
Cleanup: rename paramenter to right name

4 years agoMerge branch 'master' into blender2.8
Bastien Montagne [Sat, 17 Dec 2016 12:07:00 +0000 (13:07 +0100)]
Merge branch 'master' into blender2.8


4 years agoCleanup: trackball logic
Campbell Barton [Sat, 17 Dec 2016 08:12:07 +0000 (19:12 +1100)]
Cleanup: trackball logic

Used SQRT2 and SQRT1_2 to calculate the same value,
harmless but a little confusing, set once and check instead.

4 years agoFix T50216: Missing checks caused data transfer segfault
Luca Rood [Sun, 11 Dec 2016 22:10:01 +0000 (20:10 -0200)]
Fix T50216: Missing checks caused data transfer segfault

Data transfer was not checking if the required geometry existed, thus
causing a segfault when it didn't. This adds the required checks, and
reports errors if geometry is missing.

This also replaces instances of the words "polygon" and "loop" in error
messages with "face" and "corner" respectively, to be consistent with
the rest of the existing UI.

Reviewed By: mont29

Differential Revision:

4 years agoFix T50264: Stroke is not painted when append Grease Pencil block
Antonio Vazquez [Fri, 16 Dec 2016 21:56:43 +0000 (22:56 +0100)]
Fix T50264: Stroke is not painted when append Grease  Pencil block

When append a datablock the default brushes were not created and only
were created when draw new strokes. Now the default brushes are created
when draw strokes if necessary.

4 years agoMake Shift+LMB on transform manipulator configurable
Julian Eisel [Fri, 16 Dec 2016 01:35:36 +0000 (02:35 +0100)]
Make Shift+LMB on transform manipulator configurable

It's now possible to change the shortcut that enables planar transformation with the transform manipulators (shift+LMB on axis).

This actually fixes the workaround added in rB20681f49801fd. Thing is that we needed to allow using the manipulators, even if a modifier key is held so things like snapping work right away. That's why normal LMB behavior uses KM_ANY. However, event handling would always execute the KM_ANY keymap handler because it's iterated over first. Simply solved this by registering the KM_SHIFT keymap item first, so it has priority over the KM_ANY one.

4 years agoFix drawing enum property with icon only flag
Julian Eisel [Thu, 15 Dec 2016 21:22:54 +0000 (22:22 +0100)]
Fix drawing enum property with icon only flag

Enum properties with icon only flag should use minimum/fixed width in expanded layouts (alignment=UI_LAYOUT_ALIGN_EXPAND).

Differential Revision: by @raa (only made some really minor corrections)

4 years agoRemove double menu entries
Aaron Carlisle [Thu, 15 Dec 2016 21:12:29 +0000 (22:12 +0100)]
Remove double menu entries

These were already present in the "Select" menu.

4 years agoGtest: Fix/workaround MSVC complains about use of struct with alignment
Sergey Sharybin [Thu, 15 Dec 2016 16:53:27 +0000 (17:53 +0100)]
Gtest: Fix/workaround MSVC complains about use of struct with alignment

4 years agoFix Playerstubs tm
Jens Verwiebe [Thu, 15 Dec 2016 14:47:00 +0000 (15:47 +0100)]
Fix Playerstubs tm

4 years agoLayer Weight node support for Blender Internal Render
Alexander Romanov [Thu, 15 Dec 2016 12:03:28 +0000 (15:03 +0300)]
Layer Weight node support for Blender Internal Render

4 years agoProper fix for strict compiler warning
Sergey Sharybin [Thu, 15 Dec 2016 10:51:53 +0000 (11:51 +0100)]
Proper fix for strict compiler warning

4 years agoRevert "Cleanup: Remove unused variable"
Sergey Sharybin [Thu, 15 Dec 2016 10:50:25 +0000 (11:50 +0100)]
Revert "Cleanup: Remove unused variable"

This reverts commit 743165eb48870f1d68c8df48cc5907dea857b017.

Didn't see it is used in debug mode, sorry

4 years agoCleanup: Remove unused variable
Sergey Sharybin [Thu, 15 Dec 2016 10:49:44 +0000 (11:49 +0100)]
Cleanup: Remove unused variable