From 0cac68571f0e4ad35d7d63c22e868cbe8766b619 Mon Sep 17 00:00:00 2001 From: Thomas Bernard Date: Sun, 1 Nov 2020 23:10:45 +0100 Subject: [PATCH] SDL_image-1.2 fix for XCF loading --- 3rdparty/Makefile | 1 + 3rdparty/SDL_image-1.2.12.XCF-fixversion.patch | 15 +++++++++++++++ 2 files changed, 16 insertions(+) create mode 100644 3rdparty/SDL_image-1.2.12.XCF-fixversion.patch diff --git a/3rdparty/Makefile b/3rdparty/Makefile index 49d7be58..9de347de 100644 --- a/3rdparty/Makefile +++ b/3rdparty/Makefile @@ -38,6 +38,7 @@ SDLIMAGEURL = https://www.libsdl.org/projects/SDL_image/release/$(SDLIMAGEARCH) SDLIMAGESHA256 = 0b90722984561004de84847744d566809dbb9daf732a9e503b91a1b5a84e5699 SDLIMAGEPATCHES = SDL_image-1.2.12.XCF_infinite_loop.patch \ SDL_image-1.2.12.XCF_v11_64bits_offsets.patch \ + SDL_image-1.2.12.XCF-fixversion.patch \ SDL_image_XCF_v11_load_level.patch \ SDL_image-1.2.12-png1.6.patch \ SDL_image-1.2.12-png_const_colorp.patch \ diff --git a/3rdparty/SDL_image-1.2.12.XCF-fixversion.patch b/3rdparty/SDL_image-1.2.12.XCF-fixversion.patch new file mode 100644 index 00000000..af8db0d4 --- /dev/null +++ b/3rdparty/SDL_image-1.2.12.XCF-fixversion.patch @@ -0,0 +1,15 @@ +diff -r 5d581cd9e075 IMG_xcf.c +--- a/IMG_xcf.c Sun Oct 25 23:55:10 2020 +0300 ++++ b/IMG_xcf.c Mon Oct 26 23:25:39 2020 +0100 +@@ -336,7 +336,10 @@ + h->width = SDL_ReadBE32 (src); + h->height = SDL_ReadBE32 (src); + h->image_type = SDL_ReadBE32 (src); +- h->file_version = (h->sign[10] - '0') * 100 + (h->sign[11] - '0') * 10 + (h->sign[12] - '0'); ++ if (h->sign[9] == 'v' && h->sign[10] >= '0' && h->sign[10] <= '9' && h->sign[11] >= '0' && h->sign[11] <= '9' && h->sign[12] >= '0' && h->sign[12] <= '9') ++ h->file_version = (h->sign[10] - '0') * 100 + (h->sign[11] - '0') * 10 + (h->sign[12] - '0'); ++ else ++ h->file_version = 0; + #ifdef DEBUG + printf ("XCF signature : %.14s (version %u)\n", h->sign, h->file_version); + printf (" (%u,%u) type=%u\n", h->width, h->height, h->image_type);