diff --git a/src/Surfaces/GridWarpSurface.cpp b/src/Surfaces/GridWarpSurface.cpp index 9ebee3c..7944ebd 100644 --- a/src/Surfaces/GridWarpSurface.cpp +++ b/src/Surfaces/GridWarpSurface.cpp @@ -247,7 +247,9 @@ BaseSurface * GridWarpSurface::clone(){ GridWarpSurface * s = new GridWarpSurface(); s->setVertices(getVertices()); s->setTexCoords(getTexCoords()); - s->setSource(getSource()); + BaseSource * src = getSource(); + src->referenceCount++; + s->setSource(src); return s; } diff --git a/src/Surfaces/QuadSurface.cpp b/src/Surfaces/QuadSurface.cpp index eb8888e..26b2b2b 100644 --- a/src/Surfaces/QuadSurface.cpp +++ b/src/Surfaces/QuadSurface.cpp @@ -293,7 +293,9 @@ BaseSurface * QuadSurface::clone(){ QuadSurface * s = new QuadSurface(); s->setVertices(getVertices()); s->setTexCoords(getTexCoords()); - s->setSource(getSource()); + BaseSource * src = getSource(); + src->referenceCount++; + s->setSource(src); return s; } diff --git a/src/Surfaces/QuadSurface.h b/src/Surfaces/QuadSurface.h index 61d7efe..4c6642b 100644 --- a/src/Surfaces/QuadSurface.h +++ b/src/Surfaces/QuadSurface.h @@ -14,7 +14,6 @@ class QuadSurface : public BaseSurface { ~QuadSurface(); void setup(); - void setup(ofVec2f p1, ofVec2f p2, ofVec2f p3, ofVec2f p4, ofVec2f t1, ofVec2f t2, ofVec2f t3, ofVec2f t4, BaseSource * newSource); diff --git a/src/Surfaces/TriangleSurface.cpp b/src/Surfaces/TriangleSurface.cpp index 4fcdbf2..bf49a0a 100644 --- a/src/Surfaces/TriangleSurface.cpp +++ b/src/Surfaces/TriangleSurface.cpp @@ -189,7 +189,9 @@ BaseSurface * TriangleSurface::clone(){ TriangleSurface * s = new TriangleSurface(); s->setVertices(getVertices()); s->setTexCoords(getTexCoords()); - s->setSource(getSource()); + BaseSource * src = getSource(); + src->referenceCount++; + s->setSource(src); return s; }