summaryrefslogtreecommitdiff
path: root/testing/xulrunner
diff options
context:
space:
mode:
authorParabola <dev@list.parabolagnulinux.org>2012-02-05 17:25:05 +0000
committerParabola <dev@list.parabolagnulinux.org>2012-02-05 17:25:05 +0000
commit359d940358dec836dd0acfe9d9caf0b1ff0a97fe (patch)
treeeeed5f77c8417a98fe5b8538d3c019d1cea00c04 /testing/xulrunner
parentcdc66cc7110e78bf1197f9effc70422114f9341b (diff)
Sun Feb 5 17:25:01 UTC 2012
Diffstat (limited to 'testing/xulrunner')
-rw-r--r--testing/xulrunner/5007_fix_libpr0n_nsPNGDecoder.patch81
1 files changed, 0 insertions, 81 deletions
diff --git a/testing/xulrunner/5007_fix_libpr0n_nsPNGDecoder.patch b/testing/xulrunner/5007_fix_libpr0n_nsPNGDecoder.patch
deleted file mode 100644
index dc93a2e8a..000000000
--- a/testing/xulrunner/5007_fix_libpr0n_nsPNGDecoder.patch
+++ /dev/null
@@ -1,81 +0,0 @@
-# HG changeset patch
-# User Glenn Randers-Pehrson <glennrp+bmo@gmail.com>
-# Date 1320490106 0
-# Node ID aff1bd412058cb6926a8feae1e8c0fc76b4c04a3
-# Parent 8248dbffd64534fb6c65ad3d757b795119e783c6
-Bug 682677 - Eliminated direct access to mInfo->pixel_depth, which is not allowed in libpng15. We access pixel_depth via png_get_IHDR() instead; r=joedrew
-
-diff --git a/modules/libpr0n/decoders/nsICODecoder.cpp b/modules/libpr0n/decoders/nsICODecoder.cpp
---- a/modules/libpr0n/decoders/nsICODecoder.cpp
-+++ b/modules/libpr0n/decoders/nsICODecoder.cpp
-@@ -381,18 +381,17 @@ nsICODecoder::WriteInternal(const char*
- return;
- }
- mPos += aCount;
- aBuffer += aCount;
- aCount = 0;
-
- // Raymond Chen says that 32bpp only are valid PNG ICOs
- // http://blogs.msdn.com/b/oldnewthing/archive/2010/10/22/10079192.aspx
-- if (static_cast<nsPNGDecoder*>(mContainedDecoder.get())->HasValidInfo() &&
-- static_cast<nsPNGDecoder*>(mContainedDecoder.get())->GetPixelDepth() != 32) {
-+ if (!static_cast<nsPNGDecoder*>(mContainedDecoder.get())->IsValidICO()) {
- PostDataError();
- }
- return;
- }
-
- // We've processed all of the icon dir entries and are within the
- // bitmap info size
- if (!mIsPNG && mCurrIcon == mNumIcons && mPos >= mImageOffset &&
-diff --git a/modules/libpr0n/decoders/nsPNGDecoder.h b/modules/libpr0n/decoders/nsPNGDecoder.h
---- a/modules/libpr0n/decoders/nsPNGDecoder.h
-+++ b/modules/libpr0n/decoders/nsPNGDecoder.h
-@@ -68,29 +68,35 @@ public:
-
- void CreateFrame(png_uint_32 x_offset, png_uint_32 y_offset,
- PRInt32 width, PRInt32 height,
- gfxASurface::gfxImageFormat format);
- void SetAnimFrameInfo();
-
- void EndImageFrame();
-
-- // Checks if the info header contains valid information
-- bool HasValidInfo() const
-+ // Check if PNG is valid ICO (32bpp RGBA)
-+ // http://blogs.msdn.com/b/oldnewthing/archive/2010/10/22/10079192.aspx
-+ bool IsValidICO() const
- {
-- return mInfo && mInfo->valid;
-- }
-+ png_uint_32
-+ png_width, // Unused
-+ png_height; // Unused
-
-- // Obtain the pixel depth if available or 0 otherwise
-- PRInt32 GetPixelDepth() const
-- {
-- if (!mInfo) {
-- return 0;
-+ int png_bit_depth,
-+ png_color_type;
-+
-+ if (png_get_IHDR(mPNG, mInfo, &png_width, &png_height, &png_bit_depth,
-+ &png_color_type, NULL, NULL, NULL)) {
-+
-+ return (png_color_type == PNG_COLOR_TYPE_RGB_ALPHA &&
-+ png_bit_depth == 8);
-+ } else {
-+ return false;
- }
-- return mInfo->pixel_depth;
- }
-
- public:
- png_structp mPNG;
- png_infop mInfo;
- nsIntRect mFrameRect;
- PRUint8 *mCMSLine;
- PRUint8 *interlacebuf;
-
-