Merge "Remove unsafe new-delete pair from program and change unoptimal resizes to...
[platform/core/uifw/dali-core.git] / 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() );
     }