OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Pillow?expand=0&rev=34
43 lines
1.7 KiB
Diff
43 lines
1.7 KiB
Diff
From 93461e6faa9a5a2676101394bd2fae68040f6b53 Mon Sep 17 00:00:00 2001
|
|
From: Eric Soroos <eric-github@soroos.net>
|
|
Date: Wed, 13 May 2015 03:05:45 -0700
|
|
Subject: [PATCH] Ico files are little endian, ref #1204
|
|
|
|
---
|
|
PIL/IcoImagePlugin.py | 8 ++++----
|
|
1 file changed, 4 insertions(+), 4 deletions(-)
|
|
|
|
Index: Pillow-2.8.1/PIL/IcoImagePlugin.py
|
|
===================================================================
|
|
--- Pillow-2.8.1.orig/PIL/IcoImagePlugin.py
|
|
+++ Pillow-2.8.1/PIL/IcoImagePlugin.py
|
|
@@ -49,7 +49,7 @@ def _save(im, fp, filename):
|
|
filter(lambda x: False if (x[0] > width or x[1] > height or
|
|
x[0] > 255 or x[1] > 255) else True, sizes)
|
|
sizes = sorted(sizes, key=lambda x: x[0])
|
|
- fp.write(struct.pack("H", len(sizes))) # idCount(2)
|
|
+ fp.write(struct.pack("<H", len(sizes))) # idCount(2)
|
|
offset = fp.tell() + len(sizes)*16
|
|
for size in sizes:
|
|
width, height = size
|
|
@@ -58,7 +58,7 @@ def _save(im, fp, filename):
|
|
fp.write(b"\0") # bColorCount(1)
|
|
fp.write(b"\0") # bReserved(1)
|
|
fp.write(b"\0\0") # wPlanes(2)
|
|
- fp.write(struct.pack("H", 32)) # wBitCount(2)
|
|
+ fp.write(struct.pack("<H", 32)) # wBitCount(2)
|
|
|
|
image_io = BytesIO()
|
|
tmp = im.copy()
|
|
@@ -67,8 +67,8 @@ def _save(im, fp, filename):
|
|
image_io.seek(0)
|
|
image_bytes = image_io.read()
|
|
bytes_len = len(image_bytes)
|
|
- fp.write(struct.pack("I", bytes_len)) # dwBytesInRes(4)
|
|
- fp.write(struct.pack("I", offset)) # dwImageOffset(4)
|
|
+ fp.write(struct.pack("<I", bytes_len)) # dwBytesInRes(4)
|
|
+ fp.write(struct.pack("<I", offset)) # dwImageOffset(4)
|
|
current = fp.tell()
|
|
fp.seek(offset)
|
|
fp.write(image_bytes)
|