From 77d233240f7f1e61f2fb3d9eba45558c56ad8d7e Mon Sep 17 00:00:00 2001 From: jacob1 <jfu614@gmail.com> Date: Thu, 7 Mar 2013 22:14:00 -0500 Subject: [PATCH] fix mismatched malloc/delete[]'s when not using new image resampler --- src/graphics/Graphics.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/graphics/Graphics.cpp b/src/graphics/Graphics.cpp index f8519655b..068cc5d3d 100644 --- a/src/graphics/Graphics.cpp +++ b/src/graphics/Graphics.cpp @@ -413,13 +413,13 @@ pixel *Graphics::resample_img(pixel *src, int sw, int sh, int rw, int rh) pixel *q = NULL; if(rw == sw && rh == sh){ //Don't resample - q = (pixel *)malloc(rw*rh*PIXELSIZE); - memcpy(q, src, rw*rh*PIXELSIZE); + q = new pixel[rw*rh]; + std::copy(src, src+(rw*rh), q); } else if(!stairstep) { float fx, fy, fyc, fxc; double intp; pixel tr, tl, br, bl; - q = (pixel *)malloc(rw*rh*PIXELSIZE); + q = new pixel[rw*rh]; //Bilinear interpolation for upscaling for (y=0; y<rh; y++) for (x=0; x<rw; x++) @@ -449,8 +449,8 @@ pixel *Graphics::resample_img(pixel *src, int sw, int sh, int rw, int rh) pixel tr, tl, br, bl; int rrw = rw, rrh = rh; pixel * oq; - oq = (pixel *)malloc(sw*sh*PIXELSIZE); - memcpy(oq, src, sw*sh*PIXELSIZE); + oq = new pixel[sw*sh]; + std::copy(src, src+(sw*sh), oq); rw = sw; rh = sh; while(rrw != rw && rrh != rh){ @@ -462,7 +462,7 @@ pixel *Graphics::resample_img(pixel *src, int sw, int sh, int rw, int rh) rw = rrw; if(rh <= rrh) rh = rrh; - q = (pixel *)malloc(rw*rh*PIXELSIZE); + q = new pixel[rw*rh]; //Bilinear interpolation for (y=0; y<rh; y++) for (x=0; x<rw; x++) @@ -485,7 +485,7 @@ pixel *Graphics::resample_img(pixel *src, int sw, int sh, int rw, int rh) (int)(((((float)PIXB(tl))*(1.0f-fxc))+(((float)PIXB(tr))*(fxc)))*(1.0f-fyc) + ((((float)PIXB(bl))*(1.0f-fxc))+(((float)PIXB(br))*(fxc)))*(fyc)) ); } - free(oq); + delete[] oq; oq = q; sw = rw; sh = rh;