python-pillow/0001-PyModule_AddObject-fix-for-Python-3.10.patch
DistroBaker edcaa37152 Merged update from upstream sources
This is an automated DistroBaker update from upstream sources.
If you do not know what this is about or would like to opt out,
contact the OSCI team.

Source: https://src.fedoraproject.org/rpms/python-pillow.git#7cd707c485f814af7dda741bc9a275269d3fc765
2021-01-09 10:41:42 +00:00

105 lines
3.1 KiB
Diff

From cf190a3c2f166cf0a7dd004fee4b242ea29bf1f4 Mon Sep 17 00:00:00 2001
From: Andrew Murray <radarhere@users.noreply.github.com>
Date: Sat, 9 Jan 2021 11:33:26 +1100
Subject: [PATCH 2/2] PyModule_AddObject fix for Python 3.10
---
src/_imaging.c | 21 +++++++++++++++------
src/_webp.c | 14 ++++++++++----
2 files changed, 25 insertions(+), 10 deletions(-)
diff --git a/src/_imaging.c b/src/_imaging.c
index a8741f6ad3..01dd22486e 100644
--- a/src/_imaging.c
+++ b/src/_imaging.c
@@ -4172,26 +4172,32 @@ setup_module(PyObject* m) {
}
#endif
+ PyObject *have_libjpegturbo;
#ifdef LIBJPEG_TURBO_VERSION
- PyModule_AddObject(m, "HAVE_LIBJPEGTURBO", Py_True);
+ have_libjpegturbo = Py_True;
#define tostr1(a) #a
#define tostr(a) tostr1(a)
PyDict_SetItemString(d, "libjpeg_turbo_version", PyUnicode_FromString(tostr(LIBJPEG_TURBO_VERSION)));
#undef tostr
#undef tostr1
#else
- PyModule_AddObject(m, "HAVE_LIBJPEGTURBO", Py_False);
-#endif
+ have_libjpegturbo = Py_False;
+ #endif
+ Py_INCREF(have_libjpegturbo);
+ PyModule_AddObject(m, "HAVE_LIBJPEGTURBO", have_libjpegturbo);
+ PyObject *have_libimagequant;
#ifdef HAVE_LIBIMAGEQUANT
- PyModule_AddObject(m, "HAVE_LIBIMAGEQUANT", Py_True);
+ have_libimagequant = Py_True;
{
extern const char* ImagingImageQuantVersion(void);
PyDict_SetItemString(d, "imagequant_version", PyUnicode_FromString(ImagingImageQuantVersion()));
}
#else
- PyModule_AddObject(m, "HAVE_LIBIMAGEQUANT", Py_False);
+ have_libimagequant = Py_False;
#endif
+ Py_INCREF(have_libimagequant);
+ PyModule_AddObject(m, "HAVE_LIBIMAGEQUANT", have_libimagequant);
#ifdef HAVE_LIBZ
/* zip encoding strategies */
@@ -4222,11 +4228,14 @@ setup_module(PyObject* m) {
}
#endif
+ PyObject *have_xcb;
#ifdef HAVE_XCB
- PyModule_AddObject(m, "HAVE_XCB", Py_True);
+ have_xcb = Py_True;
#else
- PyModule_AddObject(m, "HAVE_XCB", Py_False);
+ have_xcb = Py_False;
#endif
+ Py_INCREF(have_xcb);
+ PyModule_AddObject(m, "HAVE_XCB", have_xcb);
PyDict_SetItemString(d, "PILLOW_VERSION", PyUnicode_FromString(version));
diff --git a/src/_webp.c b/src/_webp.c
index c7875fa368..4d51d99dfa 100644
--- a/src/_webp.c
+++ b/src/_webp.c
@@ -861,19 +861,25 @@ static PyMethodDef webpMethods[] =
};
void addMuxFlagToModule(PyObject* m) {
+ PyObject *have_webpmux;
#ifdef HAVE_WEBPMUX
- PyModule_AddObject(m, "HAVE_WEBPMUX", Py_True);
+ have_webpmux = Py_True;
#else
- PyModule_AddObject(m, "HAVE_WEBPMUX", Py_False);
+ have_webpmux = Py_False;
#endif
+ Py_INCREF(have_webpmux);
+ PyModule_AddObject(m, "HAVE_WEBPMUX", have_webpmux);
}
void addAnimFlagToModule(PyObject* m) {
+ PyObject *have_webpanim;
#ifdef HAVE_WEBPANIM
- PyModule_AddObject(m, "HAVE_WEBPANIM", Py_True);
+ have_webpanim = Py_True;
#else
- PyModule_AddObject(m, "HAVE_WEBPANIM", Py_False);
+ have_webpanim = Py_False;
#endif
+ Py_INCREF(have_webpanim);
+ PyModule_AddObject(m, "HAVE_WEBPANIM", have_webpanim);
}
void addTransparencyFlagToModule(PyObject* m) {