[Bf-blender-cvs] [c27878b3a8f] temp-gpencil-bezier-v2: Merge branch 'master' into temp-gpencil-bezier-v2

Falk David noreply at git.blender.org
Fri Feb 19 18:58:38 CET 2021


Commit: c27878b3a8f875c2249b37ec4451062832e369af
Author: Falk David
Date:   Fri Feb 19 18:49:17 2021 +0100
Branches: temp-gpencil-bezier-v2
https://developer.blender.org/rBc27878b3a8f875c2249b37ec4451062832e369af

Merge branch 'master' into temp-gpencil-bezier-v2

===================================================================

M	build_files/build_environment/cmake/harvest.cmake
M	doc/python_api/sphinx_doc_gen.py
M	intern/cycles/blender/blender_mesh.cpp
M	intern/cycles/render/attribute.h
M	intern/cycles/render/shader.cpp
M	intern/cycles/util/util_simd.h
M	release/scripts/modules/bpy/utils/__init__.py
M	release/scripts/presets/keyconfig/keymap_data/blender_default.py
M	release/scripts/startup/bl_operators/object_quick_effects.py
M	release/scripts/startup/bl_ui/space_dopesheet.py
M	release/scripts/startup/bl_ui/space_sequencer.py
M	release/scripts/startup/bl_ui/space_toolsystem_toolbar.py
M	release/scripts/startup/bl_ui/space_view3d.py
M	release/scripts/startup/bl_ui/space_view3d_toolbar.py
M	source/blender/blenkernel/BKE_cryptomatte.h
M	source/blender/blenkernel/BKE_geometry_set.hh
M	source/blender/blenkernel/BKE_geometry_set_instances.hh
M	source/blender/blenkernel/BKE_gpencil.h
M	source/blender/blenkernel/BKE_gpencil_curve.h
M	source/blender/blenkernel/BKE_node_ui_storage.hh
M	source/blender/blenkernel/intern/attribute_access.cc
M	source/blender/blenkernel/intern/fmodifier.c
M	source/blender/blenkernel/intern/geometry_set.cc
M	source/blender/blenkernel/intern/geometry_set_instances.cc
M	source/blender/blenkernel/intern/gpencil.c
M	source/blender/blenkernel/intern/gpencil_curve.c
M	source/blender/blenkernel/intern/gpencil_geom.c
M	source/blender/blenkernel/intern/gpencil_modifier.c
M	source/blender/blenkernel/intern/node.cc
M	source/blender/blenkernel/intern/node_ui_storage.cc
M	source/blender/blenkernel/intern/scene.c
M	source/blender/blenloader/intern/readfile.h
M	source/blender/blenloader/intern/versioning_290.c
M	source/blender/compositor/COM_compositor.h
M	source/blender/compositor/intern/COM_MetaData.h
M	source/blender/draw/engines/gpencil/gpencil_engine.c
M	source/blender/draw/engines/gpencil/shaders/gpencil_common_lib.glsl
M	source/blender/draw/engines/overlay/overlay_gpencil.c
M	source/blender/editors/animation/fmodifier_ui.c
M	source/blender/editors/gpencil/gpencil_data.c
M	source/blender/editors/gpencil/gpencil_edit.c
M	source/blender/editors/gpencil/gpencil_edit_curve.c
M	source/blender/editors/gpencil/gpencil_intern.h
M	source/blender/editors/gpencil/gpencil_interpolate.c
M	source/blender/editors/gpencil/gpencil_merge.c
M	source/blender/editors/gpencil/gpencil_primitive.c
M	source/blender/editors/gpencil/gpencil_select.c
M	source/blender/editors/gpencil/gpencil_utils.c
M	source/blender/editors/include/ED_anim_api.h
M	source/blender/editors/include/ED_render.h
M	source/blender/editors/include/UI_interface.h
M	source/blender/editors/interface/interface.c
M	source/blender/editors/interface/interface_ops.c
M	source/blender/editors/interface/interface_utils.c
M	source/blender/editors/space_graph/graph_buttons.c
M	source/blender/editors/space_nla/nla_buttons.c
M	source/blender/editors/space_node/node_add.c
M	source/blender/editors/space_node/node_draw.cc
M	source/blender/editors/space_node/node_intern.h
M	source/blender/editors/transform/transform_convert.h
M	source/blender/functions/FN_generic_value_map.hh
M	source/blender/gpu/intern/gpu_framebuffer.cc
M	source/blender/imbuf/intern/IMB_colormanagement_intern.h
M	source/blender/makesdna/DNA_anim_types.h
M	source/blender/makesdna/DNA_gpencil_types.h
M	source/blender/makesdna/DNA_node_types.h
M	source/blender/makesdna/DNA_scene_types.h
M	source/blender/makesrna/intern/rna_fcurve.c
M	source/blender/makesrna/intern/rna_gpencil.c
M	source/blender/makesrna/intern/rna_modifier.c
M	source/blender/makesrna/intern/rna_object.c
M	source/blender/makesrna/intern/rna_scene.c
M	source/blender/makesrna/intern/rna_userdef.c
M	source/blender/nodes/CMakeLists.txt
M	source/blender/nodes/NOD_geometry_exec.hh
M	source/blender/nodes/geometry/nodes/node_geo_align_rotation_to_vector.cc
M	source/blender/nodes/geometry/nodes/node_geo_collection_info.cc
M	source/blender/nodes/geometry/nodes/node_geo_point_distribute.cc
M	source/blender/nodes/intern/node_geometry_exec.cc
M	source/blender/python/gpu/gpu_py_buffer.c
M	source/blender/python/gpu/gpu_py_buffer.h
M	source/blender/python/gpu/gpu_py_framebuffer.c
M	source/blender/python/gpu/gpu_py_texture.c
M	source/blender/python/gpu/gpu_py_vertex_buffer.c
M	source/blender/python/intern/bpy_rna.c
M	source/blender/python/intern/bpy_rna.h

===================================================================

diff --git a/build_files/build_environment/cmake/harvest.cmake b/build_files/build_environment/cmake/harvest.cmake
index 93e6fbbf393..388c8adb5dc 100644
--- a/build_files/build_environment/cmake/harvest.cmake
+++ b/build_files/build_environment/cmake/harvest.cmake
@@ -193,7 +193,7 @@ harvest(haru/lib haru/lib "*.a")
 
 if(UNIX AND NOT APPLE)
   harvest(libglu/lib mesa/lib "*.so*")
-  harvest(mesa/lib mesa/lib "*.so*")
+  harvest(mesa/lib64 mesa/lib "*.so*")
 endif()
 
 endif()
diff --git a/doc/python_api/sphinx_doc_gen.py b/doc/python_api/sphinx_doc_gen.py
index 930e5b88911..ee9b9df5bef 100644
--- a/doc/python_api/sphinx_doc_gen.py
+++ b/doc/python_api/sphinx_doc_gen.py
@@ -81,6 +81,7 @@ import sys
 import inspect
 import shutil
 import logging
+import warnings
 
 from textwrap import indent
 
@@ -1204,7 +1205,7 @@ def pycontext2sphinx(basepath):
     # for member in sorted(unique):
     #     print('        "%s": ("", False),' % member)
     if len(context_type_map) > len(unique):
-        raise Exception(
+        warnings.warn(
             "Some types are not used: %s" %
             str([member for member in context_type_map if member not in unique]))
     else:
@@ -1714,7 +1715,6 @@ except ModuleNotFoundError:
 
     fw("if html_theme == 'sphinx_rtd_theme':\n")
     fw("    html_theme_options = {\n")
-    fw("        'canonical_url': 'https://docs.blender.org/api/current/',\n")
     # fw("        'analytics_id': '',\n")
     # fw("        'collapse_navigation': True,\n")
     fw("        'sticky_navigation': False,\n")
@@ -1726,6 +1726,7 @@ except ModuleNotFoundError:
     # not helpful since the source is generated, adds to upload size.
     fw("html_copy_source = False\n")
     fw("html_show_sphinx = False\n")
+    fw("html_baseurl = 'https://docs.blender.org/api/current/'\n")
     fw("html_use_opensearch = 'https://docs.blender.org/api/current'\n")
     fw("html_split_index = True\n")
     fw("html_static_path = ['static']\n")
diff --git a/intern/cycles/blender/blender_mesh.cpp b/intern/cycles/blender/blender_mesh.cpp
index 14bdcd843e9..182aefa82ae 100644
--- a/intern/cycles/blender/blender_mesh.cpp
+++ b/intern/cycles/blender/blender_mesh.cpp
@@ -350,7 +350,7 @@ static void fill_generic_attribute(BL::Mesh &b_mesh,
 static void attr_create_generic(Scene *scene, Mesh *mesh, BL::Mesh &b_mesh, bool subdivision)
 {
   if (subdivision) {
-    /* TODO: Handle subdivison correctly. */
+    /* TODO: Handle subdivision correctly. */
     return;
   }
   AttributeSet &attributes = mesh->attributes;
diff --git a/intern/cycles/render/attribute.h b/intern/cycles/render/attribute.h
index c1be62addc0..18c9e5ab83a 100644
--- a/intern/cycles/render/attribute.h
+++ b/intern/cycles/render/attribute.h
@@ -179,7 +179,7 @@ class AttributeSet {
   Geometry *geometry;
   AttributePrimitive prim;
   list<Attribute> attributes;
-	bool modified = true;
+  bool modified = true;
 
   AttributeSet(Geometry *geometry, AttributePrimitive prim);
   AttributeSet(AttributeSet &&) = default;
diff --git a/intern/cycles/render/shader.cpp b/intern/cycles/render/shader.cpp
index 847f97fb2bf..ea83073d5ce 100644
--- a/intern/cycles/render/shader.cpp
+++ b/intern/cycles/render/shader.cpp
@@ -807,7 +807,7 @@ static bool to_scene_linear_transform(OCIO::ConstConfigRcPtr &config,
   try {
     processor = config->getProcessor(OCIO::ROLE_SCENE_LINEAR, colorspace);
   }
-  catch (OCIO::Exception &exception) {
+  catch (OCIO::Exception &) {
     return false;
   }
 
diff --git a/intern/cycles/util/util_simd.h b/intern/cycles/util/util_simd.h
index d327b7298dc..718ec9266b1 100644
--- a/intern/cycles/util/util_simd.h
+++ b/intern/cycles/util/util_simd.h
@@ -290,7 +290,7 @@ __forceinline uint64_t bitscan(uint64_t v)
 #  endif /* __KERNEL_64_BIT__ */
 
 #elif (defined(__x86_64__) || defined(__i386__)) && defined(__KERNEL_SSE2__)
-/* Instrinsic functions with x86 SSE. */
+/* Intrinsic functions with x86 SSE. */
 
 __forceinline uint32_t __bsf(const uint32_t v)
 {
diff --git a/release/scripts/modules/bpy/utils/__init__.py b/release/scripts/modules/bpy/utils/__init__.py
index d984a6f54a4..2b19d23a367 100644
--- a/release/scripts/modules/bpy/utils/__init__.py
+++ b/release/scripts/modules/bpy/utils/__init__.py
@@ -82,14 +82,39 @@ _is_factory_startup = _bpy.app.factory_startup
 
 
 def execfile(filepath, mod=None):
-    # module name isn't used or added to 'sys.modules'.
-    # passing in 'mod' allows re-execution without having to reload.
+    """
+    Execute a file path as a Python script.
+
+    :arg filepath: Path of the script to execute.
+    :type filepath: string
+    :arg mod: Optional cached module, the result of a previous execution.
+    :type mod: Module or None
+    :return: The module which can be passed back in as ``mod``.
+    :rtype: ModuleType
+    """
 
     import importlib.util
-    mod_spec = importlib.util.spec_from_file_location("__main__", filepath)
+    mod_name = "__main__"
+    mod_spec = importlib.util.spec_from_file_location(mod_name, filepath)
     if mod is None:
         mod = importlib.util.module_from_spec(mod_spec)
-    mod_spec.loader.exec_module(mod)
+
+    # While the module name is not added to `sys.modules`, it's important to temporarily
+    # include this so statements such as `sys.modules[cls.__module__].__dict__` behave as expected.
+    # See: https://bugs.python.org/issue9499 for details.
+    modules = _sys.modules
+    mod_orig = modules.get(mod_name, None)
+    modules[mod_name] = mod
+
+    # No error supression, just ensure `sys.modules[mod_name]` is properly restored in the case of an error.
+    try:
+        mod_spec.loader.exec_module(mod)
+    finally:
+        if mod_orig is None:
+            modules.pop(mod_name, None)
+        else:
+            modules[mod_name] = mod_orig
+
     return mod
 
 
diff --git a/release/scripts/presets/keyconfig/keymap_data/blender_default.py b/release/scripts/presets/keyconfig/keymap_data/blender_default.py
index c27ba21ea3b..ca7b7cdb2a3 100644
--- a/release/scripts/presets/keyconfig/keymap_data/blender_default.py
+++ b/release/scripts/presets/keyconfig/keymap_data/blender_default.py
@@ -6754,6 +6754,15 @@ def km_3d_view_tool_paint_gpencil_eyedropper(params):
         ]},
     )
 
+def km_3d_view_tool_paint_gpencil_interpolate(params):
+    return (
+        "3D View Tool: Paint Gpencil, Interpolate",
+        {"space_type": 'VIEW_3D', "region_type": 'WINDOW'},
+        {"items": [
+            ("gpencil.interpolate", {"type": params.tool_tweak, "value": 'ANY'},
+             {"properties": [("release_confirm", True)]}),
+        ]},
+    )
 
 def km_3d_view_tool_edit_gpencil_select(params):
     return (
@@ -6855,6 +6864,17 @@ def km_3d_view_tool_edit_gpencil_transform_fill(params):
     )
 
 
+def km_3d_view_tool_edit_gpencil_interpolate(params):
+    return (
+        "3D View Tool: Edit Gpencil, Interpolate",
+        {"space_type": 'VIEW_3D', "region_type": 'WINDOW'},
+        {"items": [
+            ("gpencil.interpolate", {"type": params.tool_tweak, "value": 'ANY'},
+             {"properties": [("release_confirm", True)]}),
+        ]},
+    )
+
+
 def km_3d_view_tool_sculpt_gpencil_select(params):
     return (
         "3D View Tool: Sculpt Gpencil, Tweak",
@@ -7170,6 +7190,7 @@ def generate_keymaps(params=None):
         km_3d_view_tool_paint_gpencil_curve(params),
         km_3d_view_tool_paint_gpencil_cutter(params),
         km_3d_view_tool_paint_gpencil_eyedropper(params),
+        km_3d_view_tool_paint_gpencil_interpolate(params),
         km_3d_view_tool_edit_gpencil_select(params),
         km_3d_view_tool_edit_gpencil_select_box(params),
         km_3d_view_tool_edit_gpencil_select_circle(params),
@@ -7180,6 +7201,7 @@ def generate_keymaps(params=None):
         km_3d_view_tool_edit_gpencil_shear(params),
         km_3d_view_tool_edit_gpencil_to_sphere(params),
         km_3d_view_tool_edit_gpencil_transform_fill(params),
+        km_3d_view_tool_edit_gpencil_interpolate(params),
         km_3d_view_tool_sculpt_gpencil_select(params),
         km_3d_view_tool_sculpt_gpencil_select_box(params),
         km_3d_view_tool_sculpt_gpencil_select_circle(params),
diff --git a/release/scripts/startup/bl_operators/object_quick_effects.py b/release/scripts/startup/bl_operators/object_quick_effects.py
index 0600536cb66..48312f958ef 100644
--- a/release/scripts/startup/bl_operators/object_quick_effects.py
+++ b/release/scripts/startup/bl_operators/object_quick_effects.py
@@ -496,7 +496,7 @@ class QuickLiquid(Operator):
             obj_bb_minmax(obj, min_co, max_co)
 
         # add the liquid domain object
-        bpy.ops.mesh.primitive_cube_add()
+        bpy.ops.mesh.primitive_cube_add(align='WORLD')
         obj = context.active_object
         obj.name = "Liquid Domain"
 
diff --git a/release/scripts/startup/bl_ui/space_dopesheet.py b/release/scripts/startup/bl_ui/space_dopesheet.py
index aa98e4292f4..39d232b2871 100644
--- a/release/scripts/startup/bl_ui/space_dopesheet.py
+++ b/release/scripts/startup/bl_ui/space_dopesheet.py
@@ -322,7 +322,7 @@ class DOPESHEET_MT_editor_menus(Menu):
         if st.mode != 'GPENCIL':
             layout.menu("DOPESHEET_MT_key")
         else:
-            layout.menu("DOPESHEET_MT_gpencil_frame")
+            layout.menu("DOPESHEET_MT_gpencil_key")
 
 
 class DOPESHEET_MT_view(Menu):
@@ -558,8 +558,8 @@ class DOPESHEET_MT_gpencil_channel(Menu):
         layout.operator_menu_enum("anim.channels_move", "direction", text="Move...")
 
 
-class DOPESHEET_MT_gpencil_frame(Menu):
-    bl_label = "Frame"
+class DOPESHEET_MT_gpencil_key(Menu):
+    bl_label = "Key"
 
     def draw(self, _context):
         layout = self.layout
@@ -569,15 +569,14 @@ class DOPESHEET_MT_gpencil_frame(Menu):
         layout.operator_menu_enum("action.mirror", "type", text="Mirror")
 
         layout.separator()
-        layout.operator("action.duplicate")
-        layout.operator("action.delete")
+        layout.operator("action.keyframe_insert")
 
         layout.separator()
-        layout.operator("action.keyframe_type")
+        layout.operator("action.delete")
+        layout.operator("gpencil.interpolate_reverse")
 
-        # layout.separator()
-        # layout.operator("act

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list