From d664a3e05ebed51c19dc4adb30850792d5bf8f57 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Konstantin=20K=C3=A4fer?= Date: Thu, 18 May 2017 12:01:19 +0200 Subject: [core] leave Image objects in a valid state after premultiply/unpremultiply --- src/mbgl/util/premultiply.cpp | 2 ++ test/util/image.test.cpp | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/src/mbgl/util/premultiply.cpp b/src/mbgl/util/premultiply.cpp index 219273d7cc..d9fb2480de 100644 --- a/src/mbgl/util/premultiply.cpp +++ b/src/mbgl/util/premultiply.cpp @@ -9,6 +9,7 @@ PremultipliedImage premultiply(UnassociatedImage&& src) { PremultipliedImage dst; dst.size = src.size; + src.size = { 0, 0 }; dst.data = std::move(src.data); uint8_t* data = dst.data.get(); @@ -29,6 +30,7 @@ UnassociatedImage unpremultiply(PremultipliedImage&& src) { UnassociatedImage dst; dst.size = src.size; + src.size = { 0, 0 }; dst.data = std::move(src.data); uint8_t* data = dst.data.get(); diff --git a/test/util/image.test.cpp b/test/util/image.test.cpp index 4cacf89253..f4031f1bc1 100644 --- a/test/util/image.test.cpp +++ b/test/util/image.test.cpp @@ -142,4 +142,8 @@ TEST(Image, Premultiply) { EXPECT_EQ(127, image.data[1]); EXPECT_EQ(127, image.data[2]); EXPECT_EQ(128, image.data[3]); + EXPECT_EQ(1u, image.size.width); + EXPECT_EQ(1u, image.size.height); + EXPECT_EQ(0u, rgba.size.width); + EXPECT_EQ(0u, rgba.size.height); } -- cgit v1.2.1