diff options
author | Brecht Van Lommel <brecht@blender.org> | 2021-10-20 14:16:12 +0300 |
---|---|---|
committer | Brecht Van Lommel <brecht@blender.org> | 2021-10-20 14:34:17 +0300 |
commit | 4f15c247052b6db49b5226b6c473bdb7b2be6293 (patch) | |
tree | 616ce52d24d12e1664b61c64dacd1ed419ff27b5 /intern/cycles | |
parent | 9001dd7f29a2f22534cf5549bc500422b1243c97 (diff) |
Fix T62325, T91990: changing Cycles presets does not update the Blender UI
Diffstat (limited to 'intern/cycles')
-rw-r--r-- | intern/cycles/blender/addon/ui.py | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/intern/cycles/blender/addon/ui.py b/intern/cycles/blender/addon/ui.py index 598f6f083ac..0ed2dd24f2e 100644 --- a/intern/cycles/blender/addon/ui.py +++ b/intern/cycles/blender/addon/ui.py @@ -26,27 +26,31 @@ from bpy.types import Panel from bl_ui.properties_grease_pencil_common import GreasePencilSimplifyPanel from bl_ui.properties_view_layer import ViewLayerCryptomattePanel, ViewLayerAOVPanel +class CyclesPresetPanel(PresetPanel, Panel): + COMPAT_ENGINES = {'CYCLES'} + preset_operator = "script.execute_preset" -class CYCLES_PT_sampling_presets(PresetPanel, Panel): + @staticmethod + def post_cb(context): + # Modify an arbitrary built-in scene property to force a depsgraph + # update, because add-on properties don't. (see T62325) + render = context.scene.render + render.filter_size = render.filter_size + +class CYCLES_PT_sampling_presets(CyclesPresetPanel): bl_label = "Sampling Presets" preset_subdir = "cycles/sampling" - preset_operator = "script.execute_preset" preset_add_operator = "render.cycles_sampling_preset_add" - COMPAT_ENGINES = {'CYCLES'} -class CYCLES_PT_viewport_sampling_presets(PresetPanel, Panel): +class CYCLES_PT_viewport_sampling_presets(CyclesPresetPanel): bl_label = "Viewport Sampling Presets" preset_subdir = "cycles/viewport_sampling" - preset_operator = "script.execute_preset" preset_add_operator = "render.cycles_viewport_sampling_preset_add" - COMPAT_ENGINES = {'CYCLES'} -class CYCLES_PT_integrator_presets(PresetPanel, Panel): +class CYCLES_PT_integrator_presets(CyclesPresetPanel): bl_label = "Integrator Presets" preset_subdir = "cycles/integrator" - preset_operator = "script.execute_preset" preset_add_operator = "render.cycles_integrator_preset_add" - COMPAT_ENGINES = {'CYCLES'} class CyclesButtonsPanel: |