summaryrefslogtreecommitdiff
path: root/gdk-pixbuf
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2005-05-27 15:52:19 +0000
committerMatthias Clasen <matthiasc@src.gnome.org>2005-05-27 15:52:19 +0000
commit17896bb74f89c4b840054b9a3bb51f66f01e70b5 (patch)
tree394dd6f30f7090bed5727fbe767ffebaad23db01 /gdk-pixbuf
parent825224b817490a65bd98a1bee824c1cb21ce2c2d (diff)
downloadgtk+-17896bb74f89c4b840054b9a3bb51f66f01e70b5.tar.gz
Accept the 108 byte header of BMP v4. (#168799)
2005-05-27 Matthias Clasen <mclasen@redhat.com> * io-bmp.c: Accept the 108 byte header of BMP v4. (#168799)
Diffstat (limited to 'gdk-pixbuf')
-rw-r--r--gdk-pixbuf/ChangeLog4
-rw-r--r--gdk-pixbuf/io-bmp.c7
2 files changed, 10 insertions, 1 deletions
diff --git a/gdk-pixbuf/ChangeLog b/gdk-pixbuf/ChangeLog
index 75e10077c3..2a0d75a8fd 100644
--- a/gdk-pixbuf/ChangeLog
+++ b/gdk-pixbuf/ChangeLog
@@ -1,3 +1,7 @@
+2005-05-27 Matthias Clasen <mclasen@redhat.com>
+
+ * io-bmp.c: Accept the 108 byte header of BMP v4. (#168799)
+
2005-05-25 Matthias Clasen <mclasen@redhat.com>
* gdk-pixbuf.symbols:
diff --git a/gdk-pixbuf/io-bmp.c b/gdk-pixbuf/io-bmp.c
index ffde9ab123..eecef9efac 100644
--- a/gdk-pixbuf/io-bmp.c
+++ b/gdk-pixbuf/io-bmp.c
@@ -265,7 +265,12 @@ static gboolean DecodeHeader(unsigned char *BFH, unsigned char *BIH,
#endif
State->Header.size = lsb_32 (&BIH[0]);
- if (State->Header.size == 40) {
+ if (State->Header.size == 108) {
+ State->Header.width = lsb_32 (&BIH[4]);
+ State->Header.height = lsb_32 (&BIH[8]);
+ State->Header.depth = lsb_16 (&BIH[14]);
+ State->Compressed = lsb_32 (&BIH[16]);
+ } else if (State->Header.size == 40) {
State->Header.width = lsb_32 (&BIH[4]);
State->Header.height = lsb_32 (&BIH[8]);
State->Header.depth = lsb_16 (&BIH[14]);