diff options
author | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2018-07-10 00:33:20 +0300 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2018-07-10 00:57:19 +0300 |
commit | 8373544df30a0e24b080a03c4d4c0b5108c4932d (patch) | |
tree | 70a25bd48e8573710aa9a14ba02b925644f125c3 /source/blender/windowmanager/intern/wm_init_exit.c | |
parent | 845899d373df4fa5e692c828d6af151309169c87 (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.c | 3 |
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 |