Skip to content

Commit 2ba5eb1

Browse files
committed
PyModule_AddObject fix for Python 3.10
1 parent a0a5b7a commit 2ba5eb1

File tree

2 files changed

+32
-16
lines changed

2 files changed

+32
-16
lines changed

src/_imaging.c

+21-11
Original file line numberDiff line numberDiff line change
@@ -4172,26 +4172,33 @@ setup_module(PyObject* m) {
41724172
}
41734173
#endif
41744174

4175+
PyObject *have_libjpegturbo;
41754176
#ifdef LIBJPEG_TURBO_VERSION
4176-
PyModule_AddObject(m, "HAVE_LIBJPEGTURBO", Py_True);
4177-
#define tostr1(a) #a
4178-
#define tostr(a) tostr1(a)
4179-
PyDict_SetItemString(d, "libjpeg_turbo_version", PyUnicode_FromString(tostr(LIBJPEG_TURBO_VERSION)));
4180-
#undef tostr
4181-
#undef tostr1
4177+
have_libjpegturbo = Py_True;
4178+
#define tostr1(a) #a
4179+
#define tostr(a) tostr1(a)
4180+
PyDict_SetItemString(
4181+
d, "libjpeg_turbo_version", PyUnicode_FromString(tostr(LIBJPEG_TURBO_VERSION)));
4182+
#undef tostr
4183+
#undef tostr1
41824184
#else
4183-
PyModule_AddObject(m, "HAVE_LIBJPEGTURBO", Py_False);
4185+
have_libjpegturbo = Py_False;
41844186
#endif
4187+
Py_INCREF(have_libjpegturbo);
4188+
PyModule_AddObject(m, "HAVE_LIBJPEGTURBO", have_libjpegturbo);
41854189

4190+
PyObject *have_libimagequant;
41864191
#ifdef HAVE_LIBIMAGEQUANT
4187-
PyModule_AddObject(m, "HAVE_LIBIMAGEQUANT", Py_True);
4192+
have_libimagequant = Py_True;
41884193
{
41894194
extern const char* ImagingImageQuantVersion(void);
41904195
PyDict_SetItemString(d, "imagequant_version", PyUnicode_FromString(ImagingImageQuantVersion()));
41914196
}
41924197
#else
4193-
PyModule_AddObject(m, "HAVE_LIBIMAGEQUANT", Py_False);
4198+
have_libimagequant = Py_False;
41944199
#endif
4200+
Py_INCREF(have_libimagequant);
4201+
PyModule_AddObject(m, "HAVE_LIBIMAGEQUANT", have_libimagequant);
41954202

41964203
#ifdef HAVE_LIBZ
41974204
/* zip encoding strategies */
@@ -4222,11 +4229,14 @@ setup_module(PyObject* m) {
42224229
}
42234230
#endif
42244231

4232+
PyObject *have_xcb;
42254233
#ifdef HAVE_XCB
4226-
PyModule_AddObject(m, "HAVE_XCB", Py_True);
4234+
have_xcb = Py_True;
42274235
#else
4228-
PyModule_AddObject(m, "HAVE_XCB", Py_False);
4236+
have_xcb = Py_False;
42294237
#endif
4238+
Py_INCREF(have_xcb);
4239+
PyModule_AddObject(m, "HAVE_XCB", have_xcb);
42304240

42314241
PyDict_SetItemString(d, "PILLOW_VERSION", PyUnicode_FromString(version));
42324242

src/_webp.c

+11-5
Original file line numberDiff line numberDiff line change
@@ -861,19 +861,25 @@ static PyMethodDef webpMethods[] =
861861
};
862862

863863
void addMuxFlagToModule(PyObject* m) {
864+
PyObject *have_webpmux;
864865
#ifdef HAVE_WEBPMUX
865-
PyModule_AddObject(m, "HAVE_WEBPMUX", Py_True);
866+
have_webpmux = Py_True;
866867
#else
867-
PyModule_AddObject(m, "HAVE_WEBPMUX", Py_False);
868+
have_webpmux = Py_False;
868869
#endif
870+
Py_INCREF(have_webpmux);
871+
PyModule_AddObject(m, "HAVE_WEBPMUX", have_webpmux);
869872
}
870873

871-
void addAnimFlagToModule(PyObject* m) {
874+
void addAnimFlagToModule(PyObject *m) {
875+
PyObject *have_webpanim;
872876
#ifdef HAVE_WEBPANIM
873-
PyModule_AddObject(m, "HAVE_WEBPANIM", Py_True);
877+
have_webpanim = Py_True;
874878
#else
875-
PyModule_AddObject(m, "HAVE_WEBPANIM", Py_False);
879+
have_webpanim = Py_False;
876880
#endif
881+
Py_INCREF(have_webpanim);
882+
PyModule_AddObject(m, "HAVE_WEBPANIM", have_webpanim);
877883
}
878884

879885
void addTransparencyFlagToModule(PyObject* m) {

0 commit comments

Comments
 (0)