Merge branch 'blender-v4.0-release' into main
This commit is contained in:
@@ -467,22 +467,22 @@ class ARMATURE_OT_sync_bone_color_to_selected(Operator):
|
||||
return context.mode in {'EDIT_ARMATURE', 'POSE'}
|
||||
|
||||
def execute(self, context):
|
||||
match (self.bone_type, context.mode):
|
||||
match(self.bone_type, context.mode):
|
||||
# Armature in edit mode:
|
||||
case ('POSE', 'EDIT_ARMATURE'):
|
||||
case('POSE', 'EDIT_ARMATURE'):
|
||||
self.report({'ERROR'}, "Go to pose mode to copy pose bone colors")
|
||||
return {'OPERATOR_CANCELLED'}
|
||||
case ('EDIT', 'EDIT_ARMATURE'):
|
||||
case('EDIT', 'EDIT_ARMATURE'):
|
||||
bone_source = context.active_bone
|
||||
bones_dest = context.selected_bones
|
||||
pose_bones_to_check = []
|
||||
|
||||
# Armature in pose mode:
|
||||
case ('POSE', 'POSE'):
|
||||
case('POSE', 'POSE'):
|
||||
bone_source = context.active_pose_bone
|
||||
bones_dest = context.selected_pose_bones
|
||||
pose_bones_to_check = []
|
||||
case ('EDIT', 'POSE'):
|
||||
case('EDIT', 'POSE'):
|
||||
bone_source = context.active_bone
|
||||
pose_bones_to_check = context.selected_pose_bones
|
||||
bones_dest = [posebone.bone for posebone in pose_bones_to_check]
|
||||
|
||||
@@ -428,6 +428,7 @@ class SimulationZoneItemMoveOperator(SimulationZoneOperator, ZoneMoveItemOperato
|
||||
bl_label = "Move State Item"
|
||||
bl_options = {'REGISTER', 'UNDO'}
|
||||
|
||||
|
||||
class RepeatZoneOperator(ZoneOperator):
|
||||
input_node_type = 'GeometryNodeRepeatInput'
|
||||
output_node_type = 'GeometryNodeRepeatOutput'
|
||||
|
||||
@@ -1000,6 +1000,7 @@ def draw_socket_item_in_list(uilist, layout, item, icon):
|
||||
layout.alignment = 'CENTER'
|
||||
layout.template_node_socket(color=item.color)
|
||||
|
||||
|
||||
class NODE_UL_simulation_zone_items(bpy.types.UIList):
|
||||
def draw_item(self, context, layout, _data, item, icon, _active_data, _active_propname, _index):
|
||||
draw_socket_item_in_list(self, layout, item, icon)
|
||||
|
||||
@@ -964,7 +964,6 @@ class SEQUENCER_MT_strip_retiming(Menu):
|
||||
)
|
||||
|
||||
|
||||
|
||||
class SEQUENCER_MT_strip(Menu):
|
||||
bl_label = "Strip"
|
||||
|
||||
|
||||
@@ -1432,7 +1432,10 @@ static void write_file_main_validate_pre(Main *bmain, ReportList *reports)
|
||||
return;
|
||||
}
|
||||
|
||||
BKE_report(reports, RPT_DEBUG, "Checking validity of current .blend file *BEFORE* save to disk");
|
||||
if (G.debug & G_DEBUG_IO) {
|
||||
BKE_report(
|
||||
reports, RPT_DEBUG, "Checking validity of current .blend file *BEFORE* save to disk");
|
||||
}
|
||||
|
||||
BLO_main_validate_shapekeys(bmain, reports);
|
||||
if (!BKE_main_namemap_validate_and_fix(bmain)) {
|
||||
|
||||
@@ -27,7 +27,7 @@ static std::unique_ptr<SocketDeclaration> socket_declaration_for_repeat_item(
|
||||
{
|
||||
const eNodeSocketDatatype socket_type = eNodeSocketDatatype(item.socket_type);
|
||||
BLI_assert(RepeatItemsAccessor::supports_socket_type(socket_type));
|
||||
|
||||
|
||||
std::unique_ptr<SocketDeclaration> decl = make_declaration_for_socket_type(socket_type);
|
||||
BLI_assert(decl);
|
||||
|
||||
|
||||
@@ -24,7 +24,10 @@ class TestBlendFileOpenAllTestFiles(TestHelper):
|
||||
"explode_modifier.blend",
|
||||
|
||||
# tests/depsgraph/deg_anim_camera_dof_driving_material.blend
|
||||
# ERROR (bke.fcurve): source/blender/blenkernel/intern/fcurve_driver.cc:188 dtar_get_prop_val: Driver Evaluation Error: cannot resolve target for OBCamera -> data.dof_distance
|
||||
# ERROR (bke.fcurve):
|
||||
# source/blender/blenkernel/intern/fcurve_driver.cc:188 dtar_get_prop_val:
|
||||
# Driver Evaluation Error: cannot resolve target for OBCamera ->
|
||||
# data.dof_distance
|
||||
"deg_anim_camera_dof_driving_material.blend",
|
||||
|
||||
# tests/depsgraph/deg_driver_shapekey_same_datablock.blend
|
||||
|
||||
@@ -2135,7 +2135,7 @@ def main() -> int:
|
||||
verbose_edit_actions = False
|
||||
verbose_all_from_args = args.verbose.split(",") if args.verbose else []
|
||||
while verbose_all_from_args:
|
||||
match (verbose_id := verbose_all_from_args.pop()):
|
||||
match(verbose_id := verbose_all_from_args.pop()):
|
||||
case "compile":
|
||||
verbose_compile = True
|
||||
case "edit_actions":
|
||||
|
||||
Reference in New Issue
Block a user