Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClément Foucault <foucault.clem@gmail.com>2020-04-27 22:13:53 +0300
committerClément Foucault <foucault.clem@gmail.com>2020-04-27 22:14:10 +0300
commit133bf05b184bfeed3002be28c29199b5716b8f1e (patch)
tree0f52c34c49c61b8e445f9b30648551595e52e873 /source/blender/windowmanager/intern/wm_draw.c
parent84e40ee84692004fcd7e9e229c5f4adf8cf326be (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/windowmanager/intern/wm_draw.c')
-rw-r--r--source/blender/windowmanager/intern/wm_draw.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/source/blender/windowmanager/intern/wm_draw.c b/source/blender/windowmanager/intern/wm_draw.c
index d3cd31c6e97..302de6609d0 100644
--- a/source/blender/windowmanager/intern/wm_draw.c
+++ b/source/blender/windowmanager/intern/wm_draw.c
@@ -1037,10 +1037,12 @@ void wm_draw_region_clear(wmWindow *win, ARegion *UNUSED(region))
screen->do_draw = true;
}
-void WM_draw_region_free(ARegion *region)
+void WM_draw_region_free(ARegion *region, bool hide)
{
wm_draw_region_buffer_free(region);
- region->visible = 0;
+ if (hide) {
+ region->visible = 0;
+ }
}
void wm_draw_region_test(bContext *C, ScrArea *area, ARegion *region)