4 years agoUpdate CLERW to the latest version
Sergey Sharybin [Fri, 24 Mar 2017 08:42:50 +0000 (09:42 +0100)]
Update CLERW to the latest version

4 years agoFix for last fix of fix: (unsigned)char is limited to 255
Germano Cavalcante [Fri, 24 Mar 2017 07:35:17 +0000 (04:35 -0300)]
Fix for last fix of fix: (unsigned)char is limited to 255

setting char as value outside its range will wrap

4 years agoFix of last commit. Clamp values that will be used!
Germano Cavalcante [Fri, 24 Mar 2017 07:13:16 +0000 (04:13 -0300)]
Fix of last commit. Clamp values that will be used!

4 years agoFix T51038: `layerInterp_mloopcol` was casting instead of rounding the interpolated...
Germano Cavalcante [Fri, 24 Mar 2017 07:06:30 +0000 (04:06 -0300)]
Fix T51038: `layerInterp_mloopcol` was casting instead of rounding the interpolated RGBA channels

Casting to int truncates a floating-point number, that is, it loose the fractional part.

4 years agoCleanup: minor edits to path test
Campbell Barton [Fri, 24 Mar 2017 06:48:22 +0000 (17:48 +1100)]
Cleanup: minor edits to path test

No need for redundant ID's and correct arg order

4 years agoBLI_path_util: Add BLI_path_join
Campbell Barton [Fri, 24 Mar 2017 06:29:48 +0000 (17:29 +1100)]
BLI_path_util: Add BLI_path_join

There weren't any convenient ways to join multiple paths in C
that accounted for corner cases.

4 years agoAdd: BKE_appdir_folder_id_ex
Campbell Barton [Thu, 23 Mar 2017 23:35:58 +0000 (10:35 +1100)]
Add: BKE_appdir_folder_id_ex

Allows getting the path without using a static string.

4 years agoCleanup: line-length
Campbell Barton [Thu, 23 Mar 2017 23:11:01 +0000 (10:11 +1100)]
Cleanup: line-length

4 years agobpy.path.display_name: strip spaces
Campbell Barton [Thu, 23 Mar 2017 19:48:24 +0000 (06:48 +1100)]
bpy.path.display_name: strip spaces

Useful for Python module paths that can't start with numbers.

4 years agoBLI_path_util: Add string versions of SEP, ALTSEP
Campbell Barton [Thu, 23 Mar 2017 18:23:03 +0000 (05:23 +1100)]
BLI_path_util: Add string versions of SEP, ALTSEP

This allows for adding separators in string literals.

4 years agoaddon_utils: add disable_all function
Campbell Barton [Thu, 23 Mar 2017 18:20:26 +0000 (05:20 +1100)]
addon_utils: add disable_all function

4 years agoCycles: Remove old non-optimized triangle intersection function
Sergey Sharybin [Thu, 23 Mar 2017 16:59:34 +0000 (17:59 +0100)]
Cycles: Remove old non-optimized triangle intersection function

It is unused now and if we want similar function we should use
Pluecker intersection which is same performance with SSE optimization
but which is more watertight.

4 years agoCycles: Remove unused macro
Sergey Sharybin [Thu, 23 Mar 2017 16:59:02 +0000 (17:59 +0100)]
Cycles: Remove unused macro

4 years agoCycles: Use SSE-optimized version of triangle intersection for motion triangles
Sergey Sharybin [Thu, 23 Mar 2017 15:16:05 +0000 (16:16 +0100)]
Cycles: Use SSE-optimized version of triangle intersection for motion triangles

The title says it all actually. Gives up to 10% speedup on test scenes here
on i7-6800K.

Render times on GPU are unreliable here, but there might be some slowdown
caused by watertight nature of intersections.

4 years agoCycles: Fix speed regression on GPU
Sergey Sharybin [Thu, 23 Mar 2017 16:15:54 +0000 (17:15 +0100)]
Cycles: Fix speed regression on GPU

Avoid construction of temporary array and make utility function force-inlined.
Additionally avoid calling float4_to_float3 twice.

This brings render times to the same values as before current patch series.

4 years agoCycles: Use utility function for SSS triangle intersection
Sergey Sharybin [Thu, 23 Mar 2017 14:17:26 +0000 (15:17 +0100)]
Cycles: Use utility function for SSS triangle intersection

This effectively de-duplicates triangle intersection logic implemented
for both regular triangle and SSS triangle.

4 years agoCycles: Move watertight triangle intersection to an utility file
Sergey Sharybin [Thu, 23 Mar 2017 12:30:18 +0000 (13:30 +0100)]
Cycles: Move watertight triangle intersection to an utility file

This way the code can be reused more easily.

4 years agoCycles: Move triangle intersection precalc to an util file
Sergey Sharybin [Thu, 23 Mar 2017 12:01:42 +0000 (13:01 +0100)]
Cycles: Move triangle intersection precalc to an util file

This is a preparation work for the followup commit which wil l move
remaining parts of Woop intersection logic to an utility file.

Doing it as a separate commit to keep changes more atomic and easier
to bisect when/if needed.

4 years agoCycles: Cleanup, move utility function to utility file
Sergey Sharybin [Thu, 23 Mar 2017 11:55:51 +0000 (12:55 +0100)]
Cycles: Cleanup, move utility function to utility file

Was an old TODO, this function is handy for some math utilities as well.

4 years agoCycles: Cleanup, code style and comments
Sergey Sharybin [Thu, 23 Mar 2017 11:53:45 +0000 (12:53 +0100)]
Cycles: Cleanup, code style and comments

4 years agoCycles: Move intersection math to own header file
Sergey Sharybin [Thu, 23 Mar 2017 11:47:27 +0000 (12:47 +0100)]
Cycles: Move intersection math to own header file

There are following benefits:

- Modifying intersection algorithm will not cause so much re-compilation.
- It works around header dependency hell and allows us to use vectorization
  types much easier in there.

4 years agoCycles: Cleanup, inline AVX register construction from kernel global data
Sergey Sharybin [Thu, 23 Mar 2017 11:41:33 +0000 (12:41 +0100)]
Cycles: Cleanup, inline AVX register construction from kernel global data

Currently should be no functional changes, preparing for some upcoming refactor.

4 years agoCycles: Cleanup, remove unused function
Sergey Sharybin [Thu, 23 Mar 2017 11:04:49 +0000 (12:04 +0100)]
Cycles: Cleanup, remove unused function

4 years agoFix player stubs (tm)
Jens Verwiebe [Thu, 23 Mar 2017 14:47:23 +0000 (15:47 +0100)]
Fix player stubs (tm)

4 years agoCollada - Export: now use bind_mat and rest_mat custom properties (when the use_bind_...
Gaia Clary [Thu, 23 Mar 2017 13:11:55 +0000 (14:11 +0100)]
Collada - Export: now use bind_mat and rest_mat custom properties (when the use_bind_info option is enabled and the properties exist)

4 years agoCollada - Import: now add bind_mat and rest_mat as custom properties (when the use_bi...
Gaia Clary [Thu, 23 Mar 2017 13:10:57 +0000 (14:10 +0100)]
Collada - Import: now add bind_mat and rest_mat as custom properties (when the use_bind_info option is enabled)

4 years agoCollada - remove no longer used functions (moved to collada_utils)
Gaia Clary [Thu, 23 Mar 2017 13:09:00 +0000 (14:09 +0100)]
Collada - remove no longer used functions (moved to collada_utils)

4 years agoCollada - Added support for custom bind matrix (using new bind_mat custom property)
Gaia Clary [Thu, 23 Mar 2017 11:53:56 +0000 (12:53 +0100)]
Collada - Added support for custom bind matrix (using new bind_mat custom property)

4 years agoCollada - removed TransformBase baseclass (not needed for anything)
Gaia Clary [Thu, 23 Mar 2017 11:45:40 +0000 (12:45 +0100)]
Collada - removed TransformBase baseclass (not needed for anything)

4 years agoCollada - Added some helper functions into collada_utils, for common usage in the...
Gaia Clary [Thu, 23 Mar 2017 11:38:41 +0000 (12:38 +0100)]
Collada - Added some helper functions into collada_utils, for common usage in the collada module

4 years agoAdded new option for storing bindpose matrix, see T50412
Gaia Clary [Wed, 22 Mar 2017 23:07:05 +0000 (00:07 +0100)]
Added new option for storing bindpose matrix, see T50412

4 years agocollada: Simplify reading Node Matrix
Gaia Clary [Tue, 21 Mar 2017 17:05:10 +0000 (18:05 +0100)]
collada: Simplify reading Node Matrix

4 years agocollada: Make sure that bone use_conncet is set to false when connect type is not...
Gaia Clary [Tue, 21 Mar 2017 16:49:21 +0000 (17:49 +0100)]
collada: Make sure that bone use_conncet is set to false when connect type is not defined in Import

4 years agocollada: add extern 'C' for c header includes
Gaia Clary [Tue, 21 Mar 2017 16:42:34 +0000 (17:42 +0100)]
collada: add extern 'C' for c header includes

4 years agofix: collada - Connected bones get their tails set to wrong location when fix leaf...
Gaia Clary [Tue, 21 Mar 2017 16:24:39 +0000 (17:24 +0100)]
fix: collada - Connected bones get their tails set to wrong location when fix leaf nodes option is enabled

4 years agocollada: use local variable to avoid repeated call of bone chain_length_calculator
Gaia Clary [Tue, 21 Mar 2017 16:13:31 +0000 (17:13 +0100)]
collada: use local variable to avoid repeated call of bone chain_length_calculator

4 years agocollada: use vector copy function instead of direct assigning
Gaia Clary [Tue, 21 Mar 2017 16:10:19 +0000 (17:10 +0100)]
collada: use vector copy function instead of direct assigning

4 years agoUI: allow to extend camera as a menu
Campbell Barton [Thu, 23 Mar 2017 09:42:44 +0000 (20:42 +1100)]
UI: allow to extend camera as a menu

Needed for T46853

4 years agoCloth refactor: Remove goal springs and some other cleanup
Luca Rood [Thu, 23 Mar 2017 06:52:31 +0000 (03:52 -0300)]
Cloth refactor: Remove goal springs and some other cleanup

This removes the goal springs, in favor of simply calculating the goal forces on the vertices directly. The vertices already store all the necessary data for the goal forces, thus the springs were redundant, and just defined both ends as being the same vertex.

The main advantage of removing the goal springs, is an increase in flexibility, allowing us to much more nicely do some neat dynamic stuff with the goals/pins, such as animated vertex weights. But this also has the advantage of simpler code, and a slightly reduced memory footprint.

This also removes the `f`, `dfdx` and `dfdv` fields from the `ClothSpring` struct, as that data is only used by the solver, and is re-computed on each step, and thus does not need to be stored throughout the simulation.

Reviewers: sergey

Reviewed By: sergey

Tags: #physics

Differential Revision:

4 years agoCycles: Fix building for some compilers
Mai Lavelle [Thu, 23 Mar 2017 04:11:29 +0000 (00:11 -0400)]
Cycles: Fix building for some compilers

4 years agoCleanup: remove redundant temp dir init
Campbell Barton [Thu, 23 Mar 2017 04:05:42 +0000 (15:05 +1100)]
Cleanup: remove redundant temp dir init

This is already called by wm_init_userdef, in old code
different initialization methods were used but now it's not needed.

Confusing since prefs are loaded in this function that don't initialize temp.

4 years agoCleanup: minor wm_homefile_read simplification
Campbell Barton [Wed, 22 Mar 2017 23:32:16 +0000 (10:32 +1100)]
Cleanup: minor wm_homefile_read simplification

Logic in this function is a bit scattered,
minor changes to avoid confusion.

Also rename 'from_memory' to 'use_factory_settings'.

4 years agofix redundant assignment
Mike Erwin [Wed, 22 Mar 2017 20:26:53 +0000 (16:26 -0400)]
fix redundant assignment

Thanks clang for the warning.

4 years agoCleanup: remove BLI_getlastdir
Campbell Barton [Wed, 22 Mar 2017 19:32:16 +0000 (06:32 +1100)]
Cleanup: remove BLI_getlastdir

Replace with BLI_path_name_at_index

4 years agoPydoc: Change Wikipedia links and grammar in mathutils matrix code
Aaron Carlisle [Wed, 22 Mar 2017 18:49:12 +0000 (14:49 -0400)]
Pydoc: Change Wikipedia links and grammar in mathutils matrix code

4 years agoCleanup/optimization: Simplify some usages of uiItemFullO/_ptr, avoid multiple search...
Bastien Montagne [Wed, 22 Mar 2017 18:41:03 +0000 (19:41 +0100)]
Cleanup/optimization: Simplify some usages of uiItemFullO/_ptr, avoid multiple search of same op.

4 years agoCleanup: ignore open-blend as startup/prefs basis
Campbell Barton [Wed, 22 Mar 2017 18:20:52 +0000 (05:20 +1100)]
Cleanup: ignore open-blend as startup/prefs basis

No reason startup/prefs would ever be blend-file relative.

4 years agoDepsgraph: Fix missing relations update tag when typing #frame
Sergey Sharybin [Wed, 22 Mar 2017 13:44:12 +0000 (14:44 +0100)]
Depsgraph: Fix missing relations update tag when typing #frame

New depsgraph requires relations to be updated after drivers changes.

4 years agoCycles: fixed warnings
Stefan Werner [Wed, 22 Mar 2017 11:27:12 +0000 (12:27 +0100)]
Cycles: fixed warnings

4 years agoFix T51024: Switch install_deps to set OSL_ROOT_DIR instead of CYCLES_OSL.
Bastien Montagne [Wed, 22 Mar 2017 11:05:43 +0000 (12:05 +0100)]
Fix T51024: Switch install_deps to set OSL_ROOT_DIR instead of CYCLES_OSL.

Path by @alekulyn, thanks.

Differential Revision:

4 years agoFix/workaround T50533: Transparency shader doesn't cast shadows with curve segments
Sergey Sharybin [Wed, 22 Mar 2017 10:37:23 +0000 (11:37 +0100)]
Fix/workaround T50533: Transparency shader doesn't cast shadows with curve segments

There seems to be a compiler bug of MSVC2013. The issue does not happen on Linux and
does not happen on Windows when building with MSVC2015.

Since it's reallly a pain to debug release builds with MSVC2013 the AVX2 optimization
is disabled for curve sergemnts for this compiler.

4 years agoCreate correct node after image file drag&drop for Blender Render
Alexander Romanov [Wed, 22 Mar 2017 09:00:33 +0000 (12:00 +0300)]
Create correct node after image file drag&drop for Blender Render

4 years agoBLI_path_util: add BLI_path_name_at_index
Campbell Barton [Wed, 22 Mar 2017 08:31:34 +0000 (19:31 +1100)]
BLI_path_util: add BLI_path_name_at_index

Utility to get a file/dir in the path by index,
supporting negative indices to start from the end of the path.

Without this it wasn't straightforward to get
the a files parent directory name from a filepath.

4 years agoFix for splash not opening centered
Campbell Barton [Wed, 22 Mar 2017 02:47:27 +0000 (13:47 +1100)]
Fix for splash not opening centered

When the new window didn't end up using the size stored in the preferences
the splash would not be centered (even outside the screen in some cases).

Now centered popups listen for window resizing.

4 years agoCycles: Use more friendly GPU device name for AMD cards
Sergey Sharybin [Mon, 20 Mar 2017 18:05:04 +0000 (19:05 +0100)]
Cycles: Use more friendly GPU device name for AMD cards

For example, for RX480 you'll no longer see "Ellesmere" but will see
"AMD Radeon RX 480 Graphics" which makes more sense and allows to easily
distinguish which exact card it is when having multiple different cards
of Ellesmere codenames (i.e. RX480 and WX7100) in the same machine.

4 years agoCycles: Simplify some extra OpenCL query code
Sergey Sharybin [Mon, 20 Mar 2017 17:59:46 +0000 (18:59 +0100)]
Cycles: Simplify some extra OpenCL query code

4 years agoUpdate CLEW to latest version
Sergey Sharybin [Mon, 20 Mar 2017 16:59:25 +0000 (17:59 +0100)]
Update CLEW to latest version

Needed to get access to some AMD extensions.

4 years agoCycles: Cleanup, add some utility functions to shorten access to low level API
Sergey Sharybin [Mon, 20 Mar 2017 16:57:37 +0000 (17:57 +0100)]
Cycles: Cleanup, add some utility functions to shorten access to low level API

Should be no functional changes.

4 years agoCycles: Fix wrong vector allocation in the mesh sync code
Lukas Stockner [Tue, 21 Mar 2017 03:30:08 +0000 (04:30 +0100)]
Cycles: Fix wrong vector allocation in the mesh sync code

4 years agoCycles: Fix building of OpenCL kernels
Mai Lavelle [Tue, 21 Mar 2017 02:51:36 +0000 (22:51 -0400)]
Cycles: Fix building of OpenCL kernels

Theres no overloading of functions in OpenCL so we can't make use of
`safe_normalize` with `float2`.

4 years agoFix T51012: Surface modifier was not working with curves
Germano Cavalcante [Mon, 20 Mar 2017 21:51:32 +0000 (18:51 -0300)]
Fix T51012: Surface modifier was not working with curves

This prevented the Force Field Curve Shape of working

4 years agoFix T50268: Cycles allows to select un supported GPUs for OpenCL
Sergey Sharybin [Mon, 20 Mar 2017 14:37:05 +0000 (15:37 +0100)]
Fix T50268: Cycles allows to select un supported GPUs for OpenCL

4 years agoCycles: Update remaining time once per second without waiting for a tile change
Lukas Stockner [Wed, 18 Jan 2017 23:41:55 +0000 (00:41 +0100)]
Cycles: Update remaining time once per second without waiting for a tile change

Previously, the code would only update the status string if the main status changed.
However, the main status did not include the remaining time, and therefore it wasn't updated until the amount of rendered tiles (which is part of the main status) changed.

This commit therefore makes the BlenderSession remember the time of the last status update and forces a status update if the last one was more than a second ago.

Reviewers: sergey

Differential Revision:

4 years agoFix T50975: Cycles: Light sampling threshold inadvertently clamps negative lamps
Sergey Sharybin [Mon, 20 Mar 2017 13:48:37 +0000 (14:48 +0100)]
Fix T50975: Cycles: Light sampling threshold inadvertently clamps negative lamps

4 years agoCleanup: useless call to glRasterPos before `view3d_cached_text_draw_add()`
Bastien Montagne [Mon, 20 Mar 2017 13:36:06 +0000 (14:36 +0100)]
Cleanup: useless call to glRasterPos before `view3d_cached_text_draw_add()`

Probably some leftover from much older code?

4 years agoFix T50990: Random black pixels in Cycles when rendering material with Multiscatter GGX
Sergey Sharybin [Mon, 20 Mar 2017 11:07:41 +0000 (12:07 +0100)]
Fix T50990: Random black pixels in Cycles when rendering material with Multiscatter GGX

4 years agoCorrect unintended splash on loading startup
Campbell Barton [Mon, 20 Mar 2017 01:46:20 +0000 (12:46 +1100)]
Correct unintended splash on loading startup

4 years agoUser Preferences: Split out addon and keymap free
Campbell Barton [Mon, 20 Mar 2017 01:42:19 +0000 (12:42 +1100)]
User Preferences: Split out addon and keymap free

4 years agoRemove register_module use in Cycles
Campbell Barton [Mon, 20 Mar 2017 01:16:51 +0000 (12:16 +1100)]
Remove register_module use in Cycles

4 years agoCleanup: especially non pep8 parts of Py UI
Campbell Barton [Sun, 19 Mar 2017 22:43:18 +0000 (09:43 +1100)]
Cleanup: especially non pep8 parts of Py UI

4 years agoUsual UI/i18n message fixes.
Bastien Montagne [Sun, 19 Mar 2017 16:31:07 +0000 (17:31 +0100)]
Usual UI/i18n message fixes.

Please provide valid description for SurfaceDeform modifier tooltip.
Such place-holders should not pass final checks before merging in master!

4 years agoMoving classes to separate listing broke panel order
Campbell Barton [Sun, 19 Mar 2017 15:34:32 +0000 (02:34 +1100)]
Moving classes to separate listing broke panel order

Although this wasn't so obvious since it
only showed up for factory settings and in the preferences window.

Panel display order depends on registration order,
Sorry for the noise. On the bright side we no longer need to move
classes around to re-arrange panels.

4 years agoAdd missing classes from recent commit
Campbell Barton [Sun, 19 Mar 2017 15:07:24 +0000 (02:07 +1100)]
Add missing classes from recent commit

4 years agoPyAPI: ID Property tests
Jacques Lucke [Sat, 18 Mar 2017 16:37:22 +0000 (03:37 +1100)]
PyAPI: ID Property tests

4 years agoPyAPI: remove bpy.utils.register_module()
Campbell Barton [Sat, 18 Mar 2017 09:03:24 +0000 (20:03 +1100)]
PyAPI: remove bpy.utils.register_module()

In preparation for it being removed, see: T47811

4 years agoAlternate fix for T50899
Campbell Barton [Sat, 18 Mar 2017 07:29:16 +0000 (18:29 +1100)]
Alternate fix for T50899

object_get_derived_final shouldn't have been assuming mesh objects.

It's even valid to use a curve as a target for a shrink-wrap modifier.

4 years agoMissing from recent commit
Campbell Barton [Sat, 18 Mar 2017 01:33:42 +0000 (12:33 +1100)]
Missing from recent commit

4 years agoPyAPI: add BPY_execute_string_as_string
Campbell Barton [Sat, 18 Mar 2017 01:19:03 +0000 (12:19 +1100)]
PyAPI: add BPY_execute_string_as_string

Utility to execute a string and get the resulting string,
matching BPY_execute_string_as_number.

Not used just yet but generally useful function.

4 years agoCleanup: use return args last and 'r_' prefix.
Campbell Barton [Fri, 17 Mar 2017 22:39:36 +0000 (09:39 +1100)]
Cleanup: use return args last and 'r_' prefix.

4 years agoVarious icon adjustments
raa [Fri, 17 Mar 2017 13:47:19 +0000 (16:47 +0300)]
Various icon adjustments

4 years agoFix T50968: Cycles crashes when image datablock points to a directory
Sergey Sharybin [Fri, 17 Mar 2017 13:47:12 +0000 (14:47 +0100)]
Fix T50968: Cycles crashes when image datablock points to a directory

See more details about root of the cause there:

4 years agoCycles: Fix mistake in previous split kernel commits
Sergey Sharybin [Fri, 17 Mar 2017 10:55:59 +0000 (11:55 +0100)]
Cycles: Fix mistake in previous split kernel commits

Own stupid mistake. Reported by nirved in IRC, thanks!

4 years agofix: redraw dope sheet / action editor when pose bone selection changes
Sybren A. Stüvel [Fri, 24 Feb 2017 17:21:46 +0000 (18:21 +0100)]
fix: redraw dope sheet / action editor when pose bone selection changes

4 years agoCycles: Cleanup, indentation
Sergey Sharybin [Fri, 17 Mar 2017 09:25:21 +0000 (10:25 +0100)]
Cycles: Cleanup, indentation

4 years agoRefactor writefile handling of data-blocks.
Bastien Montagne [Fri, 17 Mar 2017 09:02:08 +0000 (10:02 +0100)]
Refactor writefile handling of data-blocks.

Instead of calling a function looping over whole list of a given ID
type, make whole loop over Main in parent function, and call functions
writing a single datablock at a time.

This design is more in line with all other places in Blender where we
handle whole content of Main (including readfile.c), and much more easy
to extend and add e.g. some generic processing of IDs before/after
writing, etc.

From user point, there should be no change at all, only difference is
that data-block types won't be saved in same order as before (.blend
file specs enforces no order here, so this is not an issue, but it could
bug some third party users using other, simplified .blend file reader maybe).

Reviewers: sergey, campbellbarton

Differential Revision:

4 years agoCycles: Fix compilation error of LCG RNG
Sergey Sharybin [Fri, 17 Mar 2017 08:58:08 +0000 (09:58 +0100)]
Cycles: Fix compilation error of LCG RNG

4 years agoCycles: Silence strict compiler warning
Sergey Sharybin [Fri, 17 Mar 2017 08:56:44 +0000 (09:56 +0100)]
Cycles: Silence strict compiler warning

4 years agoCycles: Improve memory usage of CPU split kernel by using smaller global size
Mai Lavelle [Fri, 17 Mar 2017 05:31:11 +0000 (01:31 -0400)]
Cycles: Improve memory usage of CPU split kernel by using smaller global size

4 years agoCycles: Fix handling of barriers
Mai Lavelle [Thu, 16 Mar 2017 06:16:02 +0000 (02:16 -0400)]
Cycles: Fix handling of barriers

4 years agoMesh Convert: remove meaningless modifier check
Campbell Barton [Thu, 16 Mar 2017 23:10:55 +0000 (10:10 +1100)]
Mesh Convert: remove meaningless modifier check

Meshes w/o modifiers wouldn't have their derived mesh applied.
Check was to avoid crash but its in fact meaningless,
since the modifier might be disabled, or there may be virtual modifiers.

4 years agoFix T50950: Converting meshes fails w/ boolean
Campbell Barton [Thu, 16 Mar 2017 22:58:05 +0000 (09:58 +1100)]
Fix T50950: Converting meshes fails w/ boolean

4 years agoAdd BKE_blendfile_userdef_read_from_memory
Campbell Barton [Thu, 16 Mar 2017 20:01:11 +0000 (07:01 +1100)]
Add BKE_blendfile_userdef_read_from_memory

Needed to read user-preferences from in-memory startup.blend

Also skip data-blocks when reading preferences.

4 years agoAdd support for loading preference struct
Campbell Barton [Thu, 16 Mar 2017 18:10:36 +0000 (05:10 +1100)]
Add support for loading preference struct

Previously it would always load into 'U' global.
Needed for loading & merging template preferences.

4 years agoPyAPI: Menu.path_menu: Add path filter callback
Campbell Barton [Thu, 16 Mar 2017 18:17:39 +0000 (05:17 +1100)]
PyAPI: Menu.path_menu: Add path filter callback

Needed if we want to filter based on filenames (not just extension).

4 years agoCorrect reading missing property
Campbell Barton [Thu, 16 Mar 2017 18:20:09 +0000 (05:20 +1100)]
Correct reading missing property

4 years agoFix missing undo pushes in outliner's new datablock management operations.
Bastien Montagne [Thu, 16 Mar 2017 16:02:11 +0000 (17:02 +0100)]
Fix missing undo pushes in outliner's new datablock management operations.

Not sure why I did not put those from start... Actually *not* having an
undo point here can be problematic, since undoing some previous action
was trying to restore from bad pointer (I think) in UI, generating

Note however that it's not a 'pure' undo, in that you may not find your
linked data in exact same state as before deleting it, after an undo,
since it actually implies *reloading* the deleted libraries (and not
restoring from a previously stored memory dump).

Reported by @sergey, thanks.

4 years agoFix outliner contextual menu allowing to delete indirect libraries.
Bastien Montagne [Thu, 16 Mar 2017 15:47:56 +0000 (16:47 +0100)]
Fix outliner contextual menu allowing to delete indirect libraries.

There is no way currently to prevent the option from showing in menu, so
instead report a warning to user (and curse again current nightmarish
system of operation in outliner...).

Reported by @sergey, thanks.

4 years agoDepsgraph: Fixed crash with curve bevel indirect dupligroups
Sergey Sharybin [Thu, 16 Mar 2017 14:27:03 +0000 (15:27 +0100)]
Depsgraph: Fixed crash with curve bevel indirect dupligroups

Need to expand all object's dupli-groups, not only the dupli-groups
of objects directly linked to the scene.

4 years agoDepsgraph: Use string and vector in the DEG namespace only
Sergey Sharybin [Thu, 16 Mar 2017 11:31:19 +0000 (12:31 +0100)]
Depsgraph: Use string and vector in the DEG namespace only

4 years agoDepsgraph: Don't use explicit values in runtime only enum
Sergey Sharybin [Thu, 16 Mar 2017 11:29:43 +0000 (12:29 +0100)]
Depsgraph: Don't use explicit values in runtime only enum

Lower risk of forgetting to update some values here.