patches/qt-02-libpng.diff
author jurikm
Sun, 12 Feb 2012 14:04:10 +0000
changeset 8245 383896da4129
parent 3018 7949b316d9d4
permissions -rw-r--r--
SFEsauerbraten.spec: add IPS package name
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
3018
7949b316d9d4 2010-11-11 Brian Cameron <[email protected]>
yippi
parents:
diff changeset
     1
--- qt-x11-opensource-src-4.4.3/src/gui/image/qpnghandler.cpp-orig	2010-11-10 17:47:52.203891052 -0600
7949b316d9d4 2010-11-11 Brian Cameron <[email protected]>
yippi
parents:
diff changeset
     2
+++ qt-x11-opensource-src-4.4.3/src/gui/image/qpnghandler.cpp	2010-11-10 17:48:12.866370835 -0600
7949b316d9d4 2010-11-11 Brian Cameron <[email protected]>
yippi
parents:
diff changeset
     3
@@ -310,7 +310,7 @@ void setup_qt(QImage& image, png_structp
7949b316d9d4 2010-11-11 Brian Cameron <[email protected]>
yippi
parents:
diff changeset
     4
                 image.setColor(i, qRgba(c,c,c,0xff));
7949b316d9d4 2010-11-11 Brian Cameron <[email protected]>
yippi
parents:
diff changeset
     5
             }
7949b316d9d4 2010-11-11 Brian Cameron <[email protected]>
yippi
parents:
diff changeset
     6
             if (png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS)) {
7949b316d9d4 2010-11-11 Brian Cameron <[email protected]>
yippi
parents:
diff changeset
     7
-                const int g = info_ptr->trans_values.gray;
7949b316d9d4 2010-11-11 Brian Cameron <[email protected]>
yippi
parents:
diff changeset
     8
+                const int g = info_ptr->trans_color.gray;
7949b316d9d4 2010-11-11 Brian Cameron <[email protected]>
yippi
parents:
diff changeset
     9
                 if (g < ncols) {
7949b316d9d4 2010-11-11 Brian Cameron <[email protected]>
yippi
parents:
diff changeset
    10
                     image.setColor(g, 0);
7949b316d9d4 2010-11-11 Brian Cameron <[email protected]>
yippi
parents:
diff changeset
    11
                 }
7949b316d9d4 2010-11-11 Brian Cameron <[email protected]>
yippi
parents:
diff changeset
    12
@@ -339,7 +339,7 @@ void setup_qt(QImage& image, png_structp
7949b316d9d4 2010-11-11 Brian Cameron <[email protected]>
yippi
parents:
diff changeset
    13
                     info_ptr->palette[i].red,
7949b316d9d4 2010-11-11 Brian Cameron <[email protected]>
yippi
parents:
diff changeset
    14
                     info_ptr->palette[i].green,
7949b316d9d4 2010-11-11 Brian Cameron <[email protected]>
yippi
parents:
diff changeset
    15
                     info_ptr->palette[i].blue,
7949b316d9d4 2010-11-11 Brian Cameron <[email protected]>
yippi
parents:
diff changeset
    16
-                    info_ptr->trans[i]
7949b316d9d4 2010-11-11 Brian Cameron <[email protected]>
yippi
parents:
diff changeset
    17
+                    info_ptr->trans_alpha[i]
7949b316d9d4 2010-11-11 Brian Cameron <[email protected]>
yippi
parents:
diff changeset
    18
                    )
7949b316d9d4 2010-11-11 Brian Cameron <[email protected]>
yippi
parents:
diff changeset
    19
                );
7949b316d9d4 2010-11-11 Brian Cameron <[email protected]>
yippi
parents:
diff changeset
    20
                 i++;
7949b316d9d4 2010-11-11 Brian Cameron <[email protected]>
yippi
parents:
diff changeset
    21
@@ -556,13 +556,13 @@ bool Q_INTERNAL_WIN_NO_THROW QPngHandler
7949b316d9d4 2010-11-11 Brian Cameron <[email protected]>
yippi
parents:
diff changeset
    22
 #if 0 // libpng takes care of this.
7949b316d9d4 2010-11-11 Brian Cameron <[email protected]>
yippi
parents:
diff changeset
    23
     png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS)
7949b316d9d4 2010-11-11 Brian Cameron <[email protected]>
yippi
parents:
diff changeset
    24
         if (outImage->depth()==32 && png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS)) {
7949b316d9d4 2010-11-11 Brian Cameron <[email protected]>
yippi
parents:
diff changeset
    25
-            QRgb trans = 0xFF000000 | qRgb(
7949b316d9d4 2010-11-11 Brian Cameron <[email protected]>
yippi
parents:
diff changeset
    26
-                (info_ptr->trans_values.red << 8 >> bit_depth)&0xff,
7949b316d9d4 2010-11-11 Brian Cameron <[email protected]>
yippi
parents:
diff changeset
    27
-                (info_ptr->trans_values.green << 8 >> bit_depth)&0xff,
7949b316d9d4 2010-11-11 Brian Cameron <[email protected]>
yippi
parents:
diff changeset
    28
-                (info_ptr->trans_values.blue << 8 >> bit_depth)&0xff);
7949b316d9d4 2010-11-11 Brian Cameron <[email protected]>
yippi
parents:
diff changeset
    29
+            QRgb trans_alpha = 0xFF000000 | qRgb(
7949b316d9d4 2010-11-11 Brian Cameron <[email protected]>
yippi
parents:
diff changeset
    30
+                (info_ptr->trans_color.red << 8 >> bit_depth)&0xff,
7949b316d9d4 2010-11-11 Brian Cameron <[email protected]>
yippi
parents:
diff changeset
    31
+                (info_ptr->trans_color.green << 8 >> bit_depth)&0xff,
7949b316d9d4 2010-11-11 Brian Cameron <[email protected]>
yippi
parents:
diff changeset
    32
+                (info_ptr->trans_color.blue << 8 >> bit_depth)&0xff);
7949b316d9d4 2010-11-11 Brian Cameron <[email protected]>
yippi
parents:
diff changeset
    33
             for (uint y=0; y<height; y++) {
7949b316d9d4 2010-11-11 Brian Cameron <[email protected]>
yippi
parents:
diff changeset
    34
                 for (uint x=0; x<info_ptr->width; x++) {
7949b316d9d4 2010-11-11 Brian Cameron <[email protected]>
yippi
parents:
diff changeset
    35
-                    if (((uint**)jt)[y][x] == trans) {
7949b316d9d4 2010-11-11 Brian Cameron <[email protected]>
yippi
parents:
diff changeset
    36
+                    if (((uint**)jt)[y][x] == trans_alpha) {
7949b316d9d4 2010-11-11 Brian Cameron <[email protected]>
yippi
parents:
diff changeset
    37
                         ((uint**)jt)[y][x] &= 0x00FFFFFF;
7949b316d9d4 2010-11-11 Brian Cameron <[email protected]>
yippi
parents:
diff changeset
    38
                     } else {
7949b316d9d4 2010-11-11 Brian Cameron <[email protected]>
yippi
parents:
diff changeset
    39
                     }