diff options
author | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2019-03-18 21:26:01 +0300 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2019-03-18 21:26:01 +0300 |
commit | 10d1edbffbf91094015950555495e01914e09dd9 (patch) | |
tree | 2526f5f1d5bd262ff96e973ea32f840d26c407ae /source/blender/editors/space_view3d/view3d_header.c | |
parent | a29186efb414cec130dbfe4f81173b64d37ad10a (diff) |
Fix T56183: flip matcap not working for workbench as render engine.
Diffstat (limited to 'source/blender/editors/space_view3d/view3d_header.c')
-rw-r--r-- | source/blender/editors/space_view3d/view3d_header.c | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/source/blender/editors/space_view3d/view3d_header.c b/source/blender/editors/space_view3d/view3d_header.c index 78bda66b8ff..aa97c151df5 100644 --- a/source/blender/editors/space_view3d/view3d_header.c +++ b/source/blender/editors/space_view3d/view3d_header.c @@ -68,9 +68,18 @@ static void do_view3d_header_buttons(bContext *C, void *arg, int event); static int toggle_matcap_flip(bContext *C, wmOperator *UNUSED(op)) { View3D *v3d = CTX_wm_view3d(C); - v3d->shading.flag ^= V3D_SHADING_MATCAP_FLIP_X; - ED_view3d_shade_update(CTX_data_main(C), v3d, CTX_wm_area(C)); - WM_event_add_notifier(C, NC_SPACE | ND_SPACE_VIEW3D, v3d); + + if (v3d) { + v3d->shading.flag ^= V3D_SHADING_MATCAP_FLIP_X; + ED_view3d_shade_update(CTX_data_main(C), v3d, CTX_wm_area(C)); + WM_event_add_notifier(C, NC_SPACE | ND_SPACE_VIEW3D, v3d); + } + else { + Scene *scene = CTX_data_scene(C); + scene->display.shading.flag ^= V3D_SHADING_MATCAP_FLIP_X; + WM_event_add_notifier(C, NC_SCENE | NA_EDITED, v3d); + } + return OPERATOR_FINISHED; } @@ -83,7 +92,6 @@ void VIEW3D_OT_toggle_matcap_flip(wmOperatorType *ot) /* api callbacks */ ot->exec = toggle_matcap_flip; - ot->poll = ED_operator_view3d_active; } /** \} */ |