diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2019-02-19 15:08:22 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2019-02-19 15:08:22 +0300 |
commit | 4df88960627aa9560e70e4bcfcfa5c3acfb2c8b7 (patch) | |
tree | a4c38f48adf89c90888dc3c82656551f7c1d5d00 /source/blender/windowmanager | |
parent | bab2d2ba439ddd991a04c9765a9976e21fa94219 (diff) |
Playanim: Fix heap use after free on exit
Was caused by the wrong de-initialization order, here is
an ASAN log just in case P916.
Diffstat (limited to 'source/blender/windowmanager')
-rw-r--r-- | source/blender/windowmanager/intern/wm_playanim.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/source/blender/windowmanager/intern/wm_playanim.c b/source/blender/windowmanager/intern/wm_playanim.c index 58e5882deac..a8d75ac8fdb 100644 --- a/source/blender/windowmanager/intern/wm_playanim.c +++ b/source/blender/windowmanager/intern/wm_playanim.c @@ -1540,6 +1540,8 @@ static char *wm_main_playanim_intern(int argc, const char **argv) GPU_shader_free_builtin_shaders(); + immDeactivate(); + if (g_WS.gpu_context) { GPU_context_active_set(g_WS.gpu_context); GPU_context_discard(g_WS.gpu_context); @@ -1548,7 +1550,6 @@ static char *wm_main_playanim_intern(int argc, const char **argv) BLF_exit(); - immDeactivate(); GPU_exit(); GHOST_DisposeWindow(g_WS.ghost_system, g_WS.ghost_window); |