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:
authorSergey Sharybin <sergey.vfx@gmail.com>2012-11-19 20:46:48 +0400
committerSergey Sharybin <sergey.vfx@gmail.com>2012-11-19 20:46:48 +0400
commitd3960ee3d7249a162df0f351ffa06ae5fdafce33 (patch)
tree47e14f75ceb7b8447a58cbc25698a89dcf27d91f /source/blender/windowmanager/intern/wm_draw.c
parentcfd5d5828218f92b590abeb26e248a1e638a47c2 (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/intern/wm_draw.c')
-rw-r--r--source/blender/windowmanager/intern/wm_draw.c9
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;