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;