diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2020-04-27 22:13:53 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2020-04-27 22:14:10 +0300 |
commit | 133bf05b184bfeed3002be28c29199b5716b8f1e (patch) | |
tree | 0f52c34c49c61b8e445f9b30648551595e52e873 /source/blender/editors | |
parent | 84e40ee84692004fcd7e9e229c5f4adf8cf326be (diff) |
Fix T75736 Viewport update problem when switching between view layers
The problem comes from the fact by no data being modified when switching
viewlayers.
To follow what the external render engines do, we completely reset the
viewport by freeing the GPUViewport to avoid any cached data from being
kept.
Diffstat (limited to 'source/blender/editors')
-rw-r--r-- | source/blender/editors/screen/screen_edit.c | 2 | ||||
-rw-r--r-- | source/blender/editors/space_view3d/space_view3d.c | 3 |
2 files changed, 4 insertions, 1 deletions
diff --git a/source/blender/editors/screen/screen_edit.c b/source/blender/editors/screen/screen_edit.c index 8608c18c988..83edb2c3aca 100644 --- a/source/blender/editors/screen/screen_edit.c +++ b/source/blender/editors/screen/screen_edit.c @@ -547,7 +547,7 @@ void ED_region_exit(bContext *C, ARegion *region) WM_event_remove_handlers(C, ®ion->handlers); WM_event_modal_handler_region_replace(win, region, NULL); - WM_draw_region_free(region); + WM_draw_region_free(region, true); if (region->headerstr) { MEM_freeN(region->headerstr); diff --git a/source/blender/editors/space_view3d/space_view3d.c b/source/blender/editors/space_view3d/space_view3d.c index 226e6617a71..a5c99016434 100644 --- a/source/blender/editors/space_view3d/space_view3d.c +++ b/source/blender/editors/space_view3d/space_view3d.c @@ -238,6 +238,9 @@ void ED_view3d_stop_render_preview(wmWindowManager *wm, ARegion *region) RE_engine_free(rv3d->render_engine); rv3d->render_engine = NULL; } + + /* A bit overkill but this make sure the viewport is reset completely. (fclem) */ + WM_draw_region_free(region, false); } void ED_view3d_shade_update(Main *bmain, View3D *v3d, ScrArea *area) |