X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fprogramdata.cpp;h=9ab0731d8164852352f12f38808e36a2f7aed37d;hb=4d3bee9264c4e60fb811019fc1699e17a338d13d;hp=9acb93bc4d8701361458e4c20956d88b3e36bb21;hpb=927a1aa0a3a27e463ec0efc08bd08e7c4e969909;p=libs%2Fgl.git diff --git a/source/programdata.cpp b/source/programdata.cpp index 9acb93bc..9ab0731d 100644 --- a/source/programdata.cpp +++ b/source/programdata.cpp @@ -20,6 +20,13 @@ ProgramData::ProgramData() static RequireExtension _ext("GL_ARB_shader_objects"); } +ProgramData::ProgramData(const ProgramData &other): + data(other.data) +{ + for(map::iterator i=data.begin(); i!=data.end(); ++i) + i->second = i->second->clone(); +} + ProgramData::~ProgramData() { for(map::iterator i=data.begin(); i!=data.end(); ++i) @@ -34,14 +41,14 @@ void ProgramData::uniform(int index, Uniform *uni) return; } - map::iterator i=data.find(index); + map::iterator i = data.find(index); if(i!=data.end()) { delete i->second; - i->second=uni; + i->second = uni; } else - data[index]=uni; + data[index] = uni; } void ProgramData::uniform(int index, int v)