diff options
author | Hans Goudey <h.goudey@me.com> | 2020-07-06 20:17:07 +0300 |
---|---|---|
committer | Hans Goudey <h.goudey@me.com> | 2020-07-06 20:17:07 +0300 |
commit | a856de700b4274ebc1735aa349f7425c7c23cbfc (patch) | |
tree | 5910457ae6350c1c54c36b7348f3a18912bfc0ae /source/blender/editors | |
parent | f6f404392419f98a1fb9b8ce19b731c90a2beff3 (diff) |
Fix T77730: ShaderFx Missing Update Notifier
This adds a notification type for shaderfx so the properties editor can
be properly notified to redraw.
Another possible solution would be to also redraw the shaderfx tab
with a ND_MODIFIER update, but this solution allows us to avoid
some unecessary redraws too. There were no existing cases of
ND_OBJECT | NC_MODIFIER updates, so those cases were
removed from buttons_area_listener.
Differential Revision: https://developer.blender.org/D8159
Diffstat (limited to 'source/blender/editors')
-rw-r--r-- | source/blender/editors/object/object_shader_fx.c | 10 | ||||
-rw-r--r-- | source/blender/editors/space_buttons/space_buttons.c | 10 | ||||
-rw-r--r-- | source/blender/editors/space_view3d/space_view3d.c | 2 |
3 files changed, 10 insertions, 12 deletions
diff --git a/source/blender/editors/object/object_shader_fx.c b/source/blender/editors/object/object_shader_fx.c index 8df87a8a2f9..e5e3c204227 100644 --- a/source/blender/editors/object/object_shader_fx.c +++ b/source/blender/editors/object/object_shader_fx.c @@ -247,7 +247,7 @@ static int shaderfx_add_exec(bContext *C, wmOperator *op) return OPERATOR_CANCELLED; } - WM_event_add_notifier(C, NC_OBJECT | ND_MODIFIER, ob); + WM_event_add_notifier(C, NC_OBJECT | ND_SHADERFX, ob); return OPERATOR_FINISHED; } @@ -407,7 +407,7 @@ static int shaderfx_remove_exec(bContext *C, wmOperator *op) return OPERATOR_CANCELLED; } - WM_event_add_notifier(C, NC_OBJECT | ND_MODIFIER, ob); + WM_event_add_notifier(C, NC_OBJECT | ND_SHADERFX, ob); return OPERATOR_FINISHED; } @@ -447,7 +447,7 @@ static int shaderfx_move_up_exec(bContext *C, wmOperator *op) } DEG_id_tag_update(&ob->id, ID_RECALC_GEOMETRY); - WM_event_add_notifier(C, NC_OBJECT | ND_MODIFIER, ob); + WM_event_add_notifier(C, NC_OBJECT | ND_SHADERFX, ob); return OPERATOR_FINISHED; } @@ -487,7 +487,7 @@ static int shaderfx_move_down_exec(bContext *C, wmOperator *op) } DEG_id_tag_update(&ob->id, ID_RECALC_GEOMETRY); - WM_event_add_notifier(C, NC_OBJECT | ND_MODIFIER, ob); + WM_event_add_notifier(C, NC_OBJECT | ND_SHADERFX, ob); return OPERATOR_FINISHED; } @@ -533,7 +533,7 @@ static int shaderfx_move_to_index_exec(bContext *C, wmOperator *op) } DEG_id_tag_update(&ob->id, ID_RECALC_GEOMETRY); - WM_event_add_notifier(C, NC_OBJECT | ND_MODIFIER, ob); + WM_event_add_notifier(C, NC_OBJECT | ND_SHADERFX, ob); return OPERATOR_FINISHED; } diff --git a/source/blender/editors/space_buttons/space_buttons.c b/source/blender/editors/space_buttons/space_buttons.c index 71b86996989..88c2c6e82b6 100644 --- a/source/blender/editors/space_buttons/space_buttons.c +++ b/source/blender/editors/space_buttons/space_buttons.c @@ -422,6 +422,9 @@ static void buttons_area_listener(wmWindow *UNUSED(win), buttons_area_redraw(area, BCONTEXT_CONSTRAINT); buttons_area_redraw(area, BCONTEXT_BONE_CONSTRAINT); break; + case ND_SHADERFX: + buttons_area_redraw(area, BCONTEXT_SHADERFX); + break; case ND_PARTICLE: if (wmn->action == NA_EDITED) { buttons_area_redraw(area, BCONTEXT_PARTICLE); @@ -435,13 +438,6 @@ static void buttons_area_listener(wmWindow *UNUSED(win), /* Needed to refresh context path when changing active particle system index. */ buttons_area_redraw(area, BCONTEXT_PARTICLE); break; - case ND_SHADING: - case ND_SHADING_DRAW: - case ND_SHADING_LINKS: - case ND_SHADING_PREVIEW: - /* currently works by redraws... if preview is set, it (re)starts job */ - sbuts->preview = 1; - break; default: /* Not all object RNA props have a ND_ notifier (yet) */ ED_area_tag_redraw(area); diff --git a/source/blender/editors/space_view3d/space_view3d.c b/source/blender/editors/space_view3d/space_view3d.c index ed81d87f053..c88303daa16 100644 --- a/source/blender/editors/space_view3d/space_view3d.c +++ b/source/blender/editors/space_view3d/space_view3d.c @@ -825,6 +825,7 @@ static void view3d_main_region_listener( case ND_POSE: case ND_DRAW: case ND_MODIFIER: + case ND_SHADERFX: case ND_CONSTRAINT: case ND_KEYS: case ND_PARTICLE: @@ -1381,6 +1382,7 @@ static void view3d_buttons_region_listener(wmWindow *UNUSED(win), case ND_DRAW: case ND_KEYS: case ND_MODIFIER: + case ND_SHADERFX: ED_region_tag_redraw(region); break; } |