More png API compatibility
authorMatt Sarett <msarett@google.com>
Tue, 21 Mar 2017 17:03:26 +0000 (13:03 -0400)
committerSkia Commit-Bot <skia-commit-bot@chromium.org>
Tue, 21 Mar 2017 17:49:18 +0000 (17:49 +0000)
BUG=skia:

Change-Id: I71aa730b08b3eebd18d9651363bbcd816b8598fd
Reviewed-on: https://skia-review.googlesource.com/9976
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>

src/images/SkPNGImageEncoder.cpp

index dd4602a..2eac91d 100644 (file)
@@ -15,6 +15,7 @@
 #include "SkICC.h"
 #include "SkMath.h"
 #include "SkStream.h"
+#include "SkString.h"
 #include "SkTemplates.h"
 #include "SkUnPreMultiply.h"
 #include "SkUtils.h"
@@ -43,11 +44,14 @@ static void set_icc(png_structp png_ptr, png_infop info_ptr, const SkColorSpaceT
                     const SkMatrix44& toXYZD50) {
     sk_sp<SkData> icc = SkICC::WriteToICC(fn, toXYZD50);
 #if PNG_LIBPNG_VER_MAJOR > 1 || (PNG_LIBPNG_VER_MAJOR == 1 && PNG_LIBPNG_VER_MINOR >= 5)
+    const char* name = "Skia";
     png_const_bytep iccPtr = icc->bytes();
 #else
+    SkString str("Skia");
+    char* name = str.writable_str();
     png_charp iccPtr = (png_charp) icc->writable_data();
 #endif
-    png_set_iCCP(png_ptr, info_ptr, "Skia", 0, iccPtr, icc->size());
+    png_set_iCCP(png_ptr, info_ptr, name, 0, iccPtr, icc->size());
 }
 
 static transform_scanline_proc choose_proc(const SkImageInfo& info) {