]> git.cworth.org Git - apitrace/commitdiff
image: Fix PNM dumping for 2/4 channels.
authorJosé Fonseca <jfonseca@vmware.com>
Mon, 16 Sep 2013 11:21:37 +0000 (12:21 +0100)
committerJosé Fonseca <jfonseca@vmware.com>
Mon, 16 Sep 2013 11:21:37 +0000 (12:21 +0100)
image/image_pnm.cpp

index df88c58cb50a17b1d4e330fb8422b90b63805d55..55130cb12866859a61efcdfd211a473ad63ba919 100644 (file)
@@ -156,6 +156,8 @@ Image::writePNM(std::ostream &os, const char *comment) const
              * General path for float images.
              */
 
+            unsigned copyChannels = std::min(channels, outChannels);
+
             assert(channelType == TYPE_FLOAT);
 
             for (row = start(); row != end(); row += stride()) {
@@ -163,10 +165,10 @@ Image::writePNM(std::ostream &os, const char *comment) const
                 float *dst = (float *)tmp;
                 for (unsigned x = 0; x < width; ++x) {
                     unsigned channel = 0;
-                    for (; channel < channels; ++channel) {
+                    for (; channel < copyChannels; ++channel) {
                         *dst++ = *src++;
                     }
-                    for (; channel < channels; ++channel) {
+                    for (; channel < outChannels; ++channel) {
                         *dst++ = 0;
                     }
                 }