Closed Bug 812932 Opened 9 years ago Closed 9 years ago

ICO files cannot be decoded on (at least some) big endian machines

Categories

(Core :: ImageLib, defect)

18 Branch
PowerPC
macOS
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla20

People

(Reporter: tobias.netzel, Assigned: tobias.netzel)

Details

Attachments

(1 file, 1 obsolete file)

Attached file Patch against EndianMacros.h (obsolete) —
User Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_8; en-us) AppleWebKit/534.50.2 (KHTML, like Gecko) (like Version/6.0 Safari/534.50.2) Roccat/2.8 Roccat/534.50.2

Steps to reproduce:

a) Visit a web site with ICO favicon.
b) Load a ICO file directly into the browser


Actual results:

a) Icon doesn't display
b) "The image "{file path}" cannot be displayed because it contains errors


Expected results:

The image should have been decoded and displayed correctly.
Hardware: x86 → PowerPC
ICO files cannot be decoded because image/src/EndianMacros.h doesn't recognize big endian architecture if nspr headers aren't included first, at least when building with gcc (version 4.7.2 in this case) on PowerPC Mac OS X.
Summary: ICO files cannot be decoded because image/src/EndianMacros.h doesn't recognize big endian architecture if nspr headers aren't included first, at least when building with gcc → ICO files cannot be decoded on (at least some) big endian machines
Attachment #682948 - Flags: review?(netzen)
Status: UNCONFIRMED → NEW
Ever confirmed: true
Comment on attachment 682948 [details] [diff] [review]
Have EndianMacros.h recognize __BIG_ENDIAN__ preprocessor macro

Looks good, thanks for the patch
Attachment #682948 - Flags: review?(netzen) → review+
https://hg.mozilla.org/integration/mozilla-inbound/rev/1326ff4b3398
Assignee: nobody → tobias.netzel
Status: NEW → ASSIGNED
https://hg.mozilla.org/mozilla-central/rev/1326ff4b3398
Status: ASSIGNED → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla20
You need to log in before you can comment on or make changes to this bug.