diff --git a/intern/cycles/blender/addon/properties.py b/intern/cycles/blender/addon/properties.py index ccac29dcd19..0b8b5ca662e 100644 --- a/intern/cycles/blender/addon/properties.py +++ b/intern/cycles/blender/addon/properties.py @@ -1594,14 +1594,15 @@ class CyclesPreferences(bpy.types.AddonPreferences): compute_device_type = self.get_compute_device_type() # We need non-CPU devices, used for rendering and supporting OIDN GPU denoising - for device in _cycles.available_devices(compute_device_type): - device_type = device[1] - if device_type == 'CPU': - continue + if compute_device_type != 'NONE': + for device in _cycles.available_devices(compute_device_type): + device_type = device[1] + if device_type == 'CPU': + continue - has_device_oidn_support = device[5] - if has_device_oidn_support and self.find_existing_device_entry(device).use: - return True + has_device_oidn_support = device[5] + if has_device_oidn_support and self.find_existing_device_entry(device).use: + return True return False diff --git a/lib/linux_x64 b/lib/linux_x64 index c676bcef741..d983ed32a1e 160000 --- a/lib/linux_x64 +++ b/lib/linux_x64 @@ -1 +1 @@ -Subproject commit c676bcef741d7867f1c313773069fffb272dcf0a +Subproject commit d983ed32a1e760130ba31ad8a98a94ea943267a2 diff --git a/source/blender/nodes/geometry/nodes/node_geo_separate_components.cc b/source/blender/nodes/geometry/nodes/node_geo_separate_components.cc index 7b72437a197..08c4110192f 100644 --- a/source/blender/nodes/geometry/nodes/node_geo_separate_components.cc +++ b/source/blender/nodes/geometry/nodes/node_geo_separate_components.cc @@ -11,7 +11,9 @@ static void node_declare(NodeDeclarationBuilder &b) b.add_input("Geometry"); b.add_output("Mesh").propagate_all(); b.add_output("Curve").propagate_all(); - b.add_output("Grease Pencil").propagate_all(); + if (U.experimental.use_grease_pencil_version3) { + b.add_output("Grease Pencil").propagate_all(); + } b.add_output("Point Cloud").propagate_all(); b.add_output("Volume") .translation_context(BLT_I18NCONTEXT_ID_ID) @@ -36,7 +38,7 @@ static void node_geo_exec(GeoNodeExecParams params) if (geometry_set.has()) { curves.add(*geometry_set.get_component()); } - if (geometry_set.has()) { + if (geometry_set.has() && U.experimental.use_grease_pencil_version3) { grease_pencil.add(*geometry_set.get_component()); } if (geometry_set.has()) { @@ -51,7 +53,9 @@ static void node_geo_exec(GeoNodeExecParams params) params.set_output("Mesh", meshes); params.set_output("Curve", curves); - params.set_output("Grease Pencil", grease_pencil); + if (U.experimental.use_grease_pencil_version3) { + params.set_output("Grease Pencil", grease_pencil); + } params.set_output("Point Cloud", point_clouds); params.set_output("Volume", volumes); params.set_output("Instances", instances); diff --git a/source/blender/windowmanager/intern/wm_operators.cc b/source/blender/windowmanager/intern/wm_operators.cc index d2715a790f7..9d8cfacf1d5 100644 --- a/source/blender/windowmanager/intern/wm_operators.cc +++ b/source/blender/windowmanager/intern/wm_operators.cc @@ -786,7 +786,7 @@ void WM_operator_properties_reset(wmOperator *op) RNA_PROP_BEGIN (op->ptr, itemptr, iterprop) { PropertyRNA *prop = static_cast(itemptr.data); - if ((RNA_property_flag(prop) & PROP_SKIP_SAVE) == 0) { + if ((RNA_property_flag(prop) & (PROP_SKIP_SAVE | PROP_SKIP_PRESET)) == 0) { const char *identifier = RNA_property_identifier(prop); RNA_struct_idprops_unset(op->ptr, identifier); }