From 7cd86cd1feedefcc3d62b85bc3a6909f4d6b492e Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Mon, 25 Jun 2018 17:01:24 +0200 Subject: [PATCH] Cycles: Fix memory leak with session We didn't check for sync object being already allocated. In fact, we simply need to use proper function to free session. --- intern/cycles/blender/blender_session.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/intern/cycles/blender/blender_session.cpp b/intern/cycles/blender/blender_session.cpp index 6e9964e8bc3..cd55155e33b 100644 --- a/intern/cycles/blender/blender_session.cpp +++ b/intern/cycles/blender/blender_session.cpp @@ -54,6 +54,7 @@ BlenderSession::BlenderSession(BL::RenderEngine& b_engine, BL::BlendData& b_data, bool preview_osl) : session(NULL), + sync(NULL), b_engine(b_engine), b_userpref(b_userpref), b_data(b_data), @@ -81,6 +82,7 @@ BlenderSession::BlenderSession(BL::RenderEngine& b_engine, BL::RegionView3D& b_rv3d, int width, int height) : session(NULL), + sync(NULL), b_engine(b_engine), b_userpref(b_userpref), b_data(b_data), @@ -209,11 +211,8 @@ void BlenderSession::reset_session(BL::BlendData& b_data, BL::Depsgraph& b_depsg /* if scene or session parameters changed, it's easier to simply re-create * them rather than trying to distinguish which settings need to be updated */ - - delete session; - + free_session(); create_session(); - return; }