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:
authorBrecht Van Lommel <brechtvanlommel@gmail.com>2018-07-10 00:33:20 +0300
committerBrecht Van Lommel <brechtvanlommel@gmail.com>2018-07-10 00:57:19 +0300
commit8373544df30a0e24b080a03c4d4c0b5108c4932d (patch)
tree70a25bd48e8573710aa9a14ba02b925644f125c3 /source/blender/windowmanager/intern/wm_init_exit.c
parent845899d373df4fa5e692c828d6af151309169c87 (diff)
Fix T55776: crash with multiple windows and reload new.
There were a number of cases where immActivate() and immDeactivate() could get out of sync, causing crashes due to using a freed mutex lock. Refactor the code now to hopefully avoid this always.
Diffstat (limited to 'source/blender/windowmanager/intern/wm_init_exit.c')
-rw-r--r--source/blender/windowmanager/intern/wm_init_exit.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/source/blender/windowmanager/intern/wm_init_exit.c b/source/blender/windowmanager/intern/wm_init_exit.c
index c1af7153b62..183e58e5a15 100644
--- a/source/blender/windowmanager/intern/wm_init_exit.c
+++ b/source/blender/windowmanager/intern/wm_init_exit.c
@@ -491,8 +491,6 @@ void WM_exit_ext(bContext *C, const bool do_python)
#endif
GPU_free_unused_buffers(G_MAIN);
-
- GPU_exit();
}
BKE_blender_free(); /* blender.c, does entire library and spacetypes */
@@ -515,6 +513,7 @@ void WM_exit_ext(bContext *C, const bool do_python)
if (opengl_is_init) {
GPU_pass_cache_free();
DRW_opengl_context_destroy();
+ GPU_exit();
}
#ifdef WITH_INTERNATIONAL