X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=retrace%2Fjson.cpp;h=850e37f934b539de9a53e67a7af9946a09629068;hb=127a7281d3cc0c8233e128a2c3e8601276939b9a;hp=bb901c2e5fbcec1c7833f9e3ae855868a88a49db;hpb=6083cfc0885f162b532825b23639f0ec2fe285c2;p=apitrace diff --git a/retrace/json.cpp b/retrace/json.cpp index bb901c2..850e37f 100644 --- a/retrace/json.cpp +++ b/retrace/json.cpp @@ -304,6 +304,11 @@ JSONWriter::writeBool(bool b) { void JSONWriter::writeImage(image::Image *image, const char *format, unsigned depth) { + if (!image) { + writeNull(); + return; + } + beginObject(); // Tell the GUI this is no ordinary object, but an image @@ -317,7 +322,13 @@ JSONWriter::writeImage(image::Image *image, const char *format, unsigned depth) beginMember("__data__"); std::stringstream ss; - image->writePNG(ss); + + if (image->channelType == image::TYPE_UNORM8) { + image->writePNG(ss); + } else { + image->writePNM(ss); + } + const std::string & s = ss.str(); writeBase64(s.data(), s.size()); endMember(); // __data__