diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2012-11-19 20:46:48 +0400 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2012-11-19 20:46:48 +0400 |
commit | d3960ee3d7249a162df0f351ffa06ae5fdafce33 (patch) | |
tree | 47e14f75ceb7b8447a58cbc25698a89dcf27d91f /source/blender/windowmanager | |
parent | cfd5d5828218f92b590abeb26e248a1e638a47c2 (diff) |
Fix #33223: Instant Crash on Window minimize
Issue was caused by manipulating with triple buffers of minimized window.
It's more like an Intel driver bug but we can workaround it in quite clear
way by skipping draw of minimized windows.
Diffstat (limited to 'source/blender/windowmanager')
-rw-r--r-- | source/blender/windowmanager/intern/wm_draw.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/source/blender/windowmanager/intern/wm_draw.c b/source/blender/windowmanager/intern/wm_draw.c index bd6e752076d..a92ed65392c 100644 --- a/source/blender/windowmanager/intern/wm_draw.c +++ b/source/blender/windowmanager/intern/wm_draw.c @@ -753,6 +753,15 @@ void wm_draw_update(bContext *C) GPU_free_unused_buffers(); for (win = wm->windows.first; win; win = win->next) { + int state = GHOST_GetWindowState(win->ghostwin);; + + if (state == GHOST_kWindowStateMinimized) { + /* do not update minimized windows, it gives issues on intel drivers (see [#33223]) + * anyway, it seems logical to skip update for invisile windows + */ + continue; + } + if (win->drawmethod != U.wmdrawmethod) { wm_draw_window_clear(win); win->drawmethod = U.wmdrawmethod; |