summaryrefslogtreecommitdiff
path: root/Source/Core/VideoBackends/OGL/TextureCache.cpp
diff options
context:
space:
mode:
authorLioncash <mathew1800@gmail.com>2014-10-24 12:10:54 -0400
committerLioncash <mathew1800@gmail.com>2014-10-24 12:10:54 -0400
commit91c4b0c40b877b36a13be766be5a302ee6c40bab (patch)
tree2aae1a3552e6473c1221685813a32d3c088575de /Source/Core/VideoBackends/OGL/TextureCache.cpp
parent3ab921d5b08008ca3c545efa1b21f55216e4385e (diff)
parentb1bdce7d77d372f6efbf1c5f789282dfe0ed6a3a (diff)
Merge pull request #1383 from lioncash/delete
TextureCache: Get rid of explicit deletes in SaveTexture
Diffstat (limited to 'Source/Core/VideoBackends/OGL/TextureCache.cpp')
-rw-r--r--Source/Core/VideoBackends/OGL/TextureCache.cpp10
1 files changed, 4 insertions, 6 deletions
diff --git a/Source/Core/VideoBackends/OGL/TextureCache.cpp b/Source/Core/VideoBackends/OGL/TextureCache.cpp
index 1526294916..0915f24937 100644
--- a/Source/Core/VideoBackends/OGL/TextureCache.cpp
+++ b/Source/Core/VideoBackends/OGL/TextureCache.cpp
@@ -53,10 +53,10 @@ bool SaveTexture(const std::string& filename, u32 textarget, u32 tex, int virtua
return false;
int width = std::max(virtual_width >> level, 1);
int height = std::max(virtual_height >> level, 1);
- u8* data = new u8[width * height * 4];
+ std::vector<u8> data(width * height * 4);
glActiveTexture(GL_TEXTURE0+9);
glBindTexture(textarget, tex);
- glGetTexImage(textarget, level, GL_RGBA, GL_UNSIGNED_BYTE, data);
+ glGetTexImage(textarget, level, GL_RGBA, GL_UNSIGNED_BYTE, data.data());
glBindTexture(textarget, 0);
TextureCache::SetStage();
@@ -64,12 +64,10 @@ bool SaveTexture(const std::string& filename, u32 textarget, u32 tex, int virtua
if (GL_NO_ERROR != err)
{
PanicAlert("Can't save texture, GL Error: %d", err);
- delete[] data;
return false;
}
- bool success = TextureToPng(data, width * 4, filename, width, height, true);
- delete[] data;
- return success;
+
+ return TextureToPng(data.data(), width * 4, filename, width, height, true);
}
TextureCache::TCacheEntry::~TCacheEntry()