[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [52485] trunk/blender/intern/opencolorio/ ocio_impl.cc: Solved descriptors leak in OCIO module on windows

Sergey Sharybin sergey.vfx at gmail.com
Thu Nov 22 13:48:10 CET 2012


Revision: 52485
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=52485
Author:   nazgul
Date:     2012-11-22 12:48:09 +0000 (Thu, 22 Nov 2012)
Log Message:
-----------
Solved descriptors leak in OCIO module on windows

Seems was simply caused by wrong destructor used in processorRelease

Modified Paths:
--------------
    trunk/blender/intern/opencolorio/ocio_impl.cc

Modified: trunk/blender/intern/opencolorio/ocio_impl.cc
===================================================================
--- trunk/blender/intern/opencolorio/ocio_impl.cc	2012-11-22 12:03:15 UTC (rev 52484)
+++ trunk/blender/intern/opencolorio/ocio_impl.cc	2012-11-22 12:48:09 UTC (rev 52485)
@@ -48,7 +48,7 @@
 #endif
 
 #define MEM_NEW(type) new(MEM_mallocN(sizeof(type), __func__)) type()
-#define MEM_DELETE(what, type) if(what) { (what)->~type(); MEM_freeN(what); } (void)0
+#define MEM_DELETE(what, type) if(what) { ((type*)(what))->~type(); MEM_freeN(what); } (void)0
 
 static void OCIO_reportError(const char *err)
 {
@@ -421,8 +421,7 @@
 
 void OCIOImpl::processorRelease(OCIO_ConstProcessorRcPtr *p)
 {
-	p->~OCIO_ConstProcessorRcPtr();
-	MEM_freeN(p);
+	MEM_DELETE(p, ConstProcessorRcPtr);
 }
 
 const char *OCIOImpl::colorSpaceGetName(OCIO_ConstColorSpaceRcPtr *cs)




More information about the Bf-blender-cvs mailing list