summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorKonstantin Käfer <mail@kkaefer.com>2014-10-29 16:00:09 -0400
committerKonstantin Käfer <mail@kkaefer.com>2014-10-30 11:54:52 -0400
commit414ccaaf93fff1096086cd5c11acccc5cf5da7c3 (patch)
tree5ad7b540c3257ea6dc68f626145d7444c9ae86a0 /src
parentb3e0f75e4aa90394c5a4bda845e9843ad953cc92 (diff)
downloadqtlocation-mapboxgl-414ccaaf93fff1096086cd5c11acccc5cf5da7c3.tar.gz
use unique_ptr for automatic deallocation
Diffstat (limited to 'src')
-rw-r--r--src/util/image.cpp20
1 files changed, 10 insertions, 10 deletions
diff --git a/src/util/image.cpp b/src/util/image.cpp
index ffa65bf0ba..bd5d7b8913 100644
--- a/src/util/image.cpp
+++ b/src/util/image.cpp
@@ -1,12 +1,17 @@
#include <mbgl/util/image.hpp>
+#include <mbgl/util/std.hpp>
#include <png.h>
#include <cassert>
#include <cstdlib>
+#include <stdexcept>
-std::string mbgl::util::compress_png(int width, int height, void *rgba, bool flip) {
+namespace mbgl {
+namespace util {
+
+std::string compress_png(int width, int height, void *rgba, bool flip) {
png_voidp error_ptr = 0;
png_structp png_ptr = png_create_write_struct(PNG_LIBPNG_VER_STRING, error_ptr, NULL, NULL);
if (!png_ptr) {
@@ -54,9 +59,6 @@ std::string mbgl::util::compress_png(int width, int height, void *rgba, bool fli
}
-using namespace mbgl::util;
-
-
struct Buffer {
Buffer(const std::string& data_)
: data(data_.data()), length(data_.size()) {}
@@ -139,9 +141,9 @@ Image::Image(const std::string &data, bool flip) {
png_size_t rowbytes = png_get_rowbytes(png, info);
assert(width * 4 == rowbytes);
- img = static_cast<char*>(::operator new(width * height * 4));
+ img = ::std::unique_ptr<char[]>(new char[width * height * 4]());
- char *surface = img;
+ char *surface = img.get();
assert(surface);
struct ptrs {
@@ -163,14 +165,12 @@ Image::Image(const std::string &data, bool flip) {
fprintf(stderr, "loading PNG failed: %s\n", e.what());
png_destroy_read_struct(&png, &info, nullptr);
if (img) {
- ::operator delete(img);
- img = nullptr;
+ img.reset();
}
width = 0;
height = 0;
}
}
-Image::~Image() {
- ::operator delete(img),img = nullptr;
+}
}