]> git.tdb.fi Git - libs/gl.git/blobdiff - source/program.cpp
Allow texture mipmap levels to be specified in datafiles
[libs/gl.git] / source / program.cpp
index 37d72e94191b441a1b8be1fcbbd5317db58e794f..6313043ea84361c3f7fbc543324c997eb56d5fc6 100644 (file)
@@ -28,6 +28,8 @@ Program::Program()
        init();
 }
 
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
 Program::Program(const ProgramBuilder::StandardFeatures &features)
 {
        init();
@@ -36,6 +38,7 @@ Program::Program(const ProgramBuilder::StandardFeatures &features)
        builder.add_shaders(*this);
        link();
 }
+#pragma GCC diagnostic pop
 
 Program::Program(const std::string &source)
 {
@@ -330,10 +333,9 @@ bool Program::uniform_location_compare(const UniformInfo *uni1, const UniformInf
 string Program::get_info_log() const
 {
        GLsizei len = get_program_i(id, GL_INFO_LOG_LENGTH);
-       char *buf = new char[len+1];
-       glGetProgramInfoLog(id, len+1, &len, buf);
-       string log(buf, len);
-       delete[] buf;
+       string log(len+1, 0);
+       glGetProgramInfoLog(id, len+1, &len, &log[0]);
+       log.erase(len);
        return log;
 }
 
@@ -425,10 +427,13 @@ void Program::Loader::geometry_shader(const string &src)
 
 void Program::Loader::standard()
 {
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
        ProgramBuilder::StandardFeatures feat;
        load_sub(feat);
        ProgramBuilder builder(feat);
        builder.add_shaders(obj);
+#pragma GCC diagnostic pop
 }
 
 void Program::Loader::vertex_shader(const string &src)