Remove unsafe new-delete pair from program and change unoptimal resizes to reserve 84/36284/2
authorKimmo Hoikka <kimmo.hoikka@samsung.com>
Wed, 4 Mar 2015 15:26:15 +0000 (15:26 +0000)
committerKimmo Hoikka <kimmo.hoikka@samsung.com>
Wed, 4 Mar 2015 15:30:14 +0000 (07:30 -0800)
Change-Id: I1d44e31339fba44899a2b37fc6571ad029f2943e

dali/internal/render/shaders/program.cpp

index 3a47253..ec46489 100644 (file)
@@ -489,16 +489,14 @@ void Program::Load()
     {
       DALI_LOG_ERROR("Failed to load program binary \n");
 
-      char* szLog = NULL;
       GLint nLength;
       CHECK_GL( mGlAbstraction, mGlAbstraction.GetProgramiv( mProgramId, GL_INFO_LOG_LENGTH, &nLength) );
       if(nLength > 0)
       {
-        szLog = new char[ nLength ];
-        CHECK_GL( mGlAbstraction, mGlAbstraction.GetProgramInfoLog( mProgramId, nLength, &nLength, szLog ) );
-        DALI_LOG_ERROR( "Program Link Error: %s\n", szLog );
-
-        delete [] szLog;
+        Dali::Vector< char > szLog;
+        szLog.Reserve( nLength ); // Don't call Resize as we don't want to initialise the data, just reserve a buffer
+        CHECK_GL( mGlAbstraction, mGlAbstraction.GetProgramInfoLog( mProgramId, nLength, &nLength, szLog.Begin() ) );
+        DALI_LOG_ERROR( "Program Link Error: %s\n", szLog.Begin() );
       }
     }
     else
@@ -593,7 +591,7 @@ bool Program::CompileShader( GLenum shaderType, GLuint& shaderId, const char* sr
     if(nLength > 0)
     {
       Dali::Vector< char > szLog;
-      szLog.Resize( nLength );
+      szLog.Reserve( nLength ); // Don't call Resize as we don't want to initialise the data, just reserve a buffer
       mGlAbstraction.GetShaderInfoLog( shaderId, nLength, &nLength, szLog.Begin() );
       DALI_LOG_ERROR( "Shader Compiler Error: %s\n", szLog.Begin() );
     }
@@ -622,7 +620,7 @@ void Program::Link()
     if(nLength > 0)
     {
       Dali::Vector< char > szLog;
-      szLog.Resize( nLength );
+      szLog.Reserve( nLength ); // Don't call Resize as we don't want to initialise the data, just reserve a buffer
       mGlAbstraction.GetProgramInfoLog( mProgramId, nLength, &nLength, szLog.Begin() );
       DALI_LOG_ERROR( "Shader Link Error: %s\n", szLog.Begin() );
     }