From 97a787aa71add99af08a70a052faaacd3175c9a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pedro=20J=2E=20Est=C3=A9banez?= Date: Tue, 21 Apr 2020 21:12:05 +0200 Subject: [PATCH] Fix compilation of jpgd.cpp on MSVC 2017 (cherry picked from commit 1e5a93a4166858bba708b12cd62961c6bf3512a4) --- thirdparty/README.md | 2 ++ thirdparty/jpeg-compressor/jpgd.cpp | 6 ++-- .../patches/fix-msvc2017-build.patch | 31 +++++++++++++++++++ 3 files changed, 36 insertions(+), 3 deletions(-) create mode 100644 thirdparty/jpeg-compressor/patches/fix-msvc2017-build.patch diff --git a/thirdparty/README.md b/thirdparty/README.md index 6526f4d4eb5..af11e59dc13 100644 --- a/thirdparty/README.md +++ b/thirdparty/README.md @@ -151,6 +151,8 @@ Files extracted from upstream source: - `jpgd*.{c,h}` +Patches in the `patches` directory should be re-applied after updates. + ## libogg diff --git a/thirdparty/jpeg-compressor/jpgd.cpp b/thirdparty/jpeg-compressor/jpgd.cpp index a0c494db610..257d0b75747 100644 --- a/thirdparty/jpeg-compressor/jpgd.cpp +++ b/thirdparty/jpeg-compressor/jpgd.cpp @@ -2126,7 +2126,7 @@ namespace jpgd { int jpeg_decoder::decode_next_mcu_row() { - if (setjmp(m_jmp_state)) + if (::setjmp(m_jmp_state)) return JPGD_FAILED; const bool chroma_y_filtering = ((m_flags & cFlagBoxChromaFiltering) == 0) && ((m_scan_type == JPGD_YH2V2) || (m_scan_type == JPGD_YH1V2)); @@ -3042,7 +3042,7 @@ namespace jpgd { jpeg_decoder::jpeg_decoder(jpeg_decoder_stream* pStream, uint32_t flags) { - if (setjmp(m_jmp_state)) + if (::setjmp(m_jmp_state)) return; decode_init(pStream, flags); } @@ -3055,7 +3055,7 @@ namespace jpgd { if (m_error_code) return JPGD_FAILED; - if (setjmp(m_jmp_state)) + if (::setjmp(m_jmp_state)) return JPGD_FAILED; decode_start(); diff --git a/thirdparty/jpeg-compressor/patches/fix-msvc2017-build.patch b/thirdparty/jpeg-compressor/patches/fix-msvc2017-build.patch new file mode 100644 index 00000000000..7b338de0846 --- /dev/null +++ b/thirdparty/jpeg-compressor/patches/fix-msvc2017-build.patch @@ -0,0 +1,31 @@ +diff --git a/thirdparty/jpeg-compressor/jpgd.cpp b/thirdparty/jpeg-compressor/jpgd.cpp +index a0c494db61..257d0b7574 100644 +--- a/thirdparty/jpeg-compressor/jpgd.cpp ++++ b/thirdparty/jpeg-compressor/jpgd.cpp +@@ -2126,7 +2126,7 @@ namespace jpgd { + + int jpeg_decoder::decode_next_mcu_row() + { +- if (setjmp(m_jmp_state)) ++ if (::setjmp(m_jmp_state)) + return JPGD_FAILED; + + const bool chroma_y_filtering = ((m_flags & cFlagBoxChromaFiltering) == 0) && ((m_scan_type == JPGD_YH2V2) || (m_scan_type == JPGD_YH1V2)); +@@ -3042,7 +3042,7 @@ namespace jpgd { + + jpeg_decoder::jpeg_decoder(jpeg_decoder_stream* pStream, uint32_t flags) + { +- if (setjmp(m_jmp_state)) ++ if (::setjmp(m_jmp_state)) + return; + decode_init(pStream, flags); + } +@@ -3055,7 +3055,7 @@ namespace jpgd { + if (m_error_code) + return JPGD_FAILED; + +- if (setjmp(m_jmp_state)) ++ if (::setjmp(m_jmp_state)) + return JPGD_FAILED; + + decode_start();