diff options
author | Christian Lohmaier <lohmaier+LibreOffice@googlemail.com> | 2012-05-19 04:02:42 +0200 |
---|---|---|
committer | Petr Mladek <pmladek@suse.cz> | 2012-05-21 16:26:09 +0200 |
commit | 20987a1d0ec675f3a23a4be58eb7309f60fc62de (patch) | |
tree | d35f707fe066c7b86714d29b80ab5541e1b365da | |
parent | 6c24c4f0becb40ac0450ccdb49c9af4ebcbd581b (diff) |
fdo#47035: Fix loading of jpeg files on Mac/PPC
jpeg_decompress_struct gets padded when compiling libjpeg, but the
jpeg filter in svtools assume non-padded size, resulting in a mismatch
that makes libjpeg refuse to do its work.
Signed-off-by: Petr Mladek <pmladek@suse.cz>
Signed-off-by: Tor Lillqvist <tml@iki.fi>
Signed-off-by: Fridrich Strba <fridrich.strba@graduateinstitute.ch>
-rw-r--r-- | jpeg/makefile.mk | 9 | ||||
-rw-r--r-- | jpeg/struct_alignment.patch | 18 |
2 files changed, 24 insertions, 3 deletions
diff --git a/jpeg/makefile.mk b/jpeg/makefile.mk index adc0c664c127..3c6cf4967949 100644 --- a/jpeg/makefile.mk +++ b/jpeg/makefile.mk @@ -36,8 +36,8 @@ TARGET=jpeg .IF "$(SYSTEM_JPEG)" == "YES" all: - @echo "An already available installation of libjpeg should exist on your system." - @echo "Therefore the version provided here does not need to be built in addition." + @echo "An already available installation of libjpeg should exist on your system." + @echo "Therefore the version provided here does not need to be built in addition." .ENDIF # --- Files -------------------------------------------------------- @@ -50,6 +50,9 @@ TARFILE_MD5=a2c10c04f396a9ce72894beb18b4e1f9 #PATCH_FILES=jpeg-6b.patch PATCH_FILES=jpeg-8c.patch +.IF "$(OS)$(CPU)"=="MACOSXP" +PATCH_FILES+=struct_alignment.patch +.ENDIF ADDITIONAL_FILES=makefile.mk jconfig.h @@ -58,7 +61,7 @@ ADDITIONAL_FILES=makefile.mk jconfig.h BUILD_DIR=$(CONFIGURE_DIR) BUILD_ACTION=dmake $(MFLAGS) $(CALLMACROS) -OUT2INC= jconfig.h \ +OUT2INC= jconfig.h \ jerror.h \ jmorecfg.h \ jpegint.h \ diff --git a/jpeg/struct_alignment.patch b/jpeg/struct_alignment.patch new file mode 100644 index 000000000000..2eb41bf1ff17 --- /dev/null +++ b/jpeg/struct_alignment.patch @@ -0,0 +1,18 @@ +without this patch, the jpeg_decompress_struct will be padded, this in turn +results in a mismatch when the jpeg filter in svtools is built, where no +padding is assumed. Only affects Mac/PPC apparenlty, see fdo#47035 +--- misc/jpeg-8c/jpeglib.h 2010-11-17 22:01:56.000000000 +0100 ++++ misc/build/jpeg-8c/jpeglib.h 2012-05-19 03:38:44.000000000 +0200 +@@ -583,11 +583,11 @@ + /* Data copied from JFIF marker; only valid if saw_JFIF_marker is TRUE: */ + UINT8 JFIF_major_version; /* JFIF version number */ + UINT8 JFIF_minor_version; ++ UINT8 Adobe_transform; /* Color transform code from Adobe marker */ + UINT8 density_unit; /* JFIF code for pixel size units */ + UINT16 X_density; /* Horizontal pixel density */ + UINT16 Y_density; /* Vertical pixel density */ + boolean saw_Adobe_marker; /* TRUE iff an Adobe APP14 marker was found */ +- UINT8 Adobe_transform; /* Color transform code from Adobe marker */ + + boolean CCIR601_sampling; /* TRUE=first samples are cosited */ + |