Files
MINGW-packages/mingw-w64-python3-cairo-git/0003-fix-PyVarObject_HEAD_INIT-problem.patch
2014-08-05 19:52:28 +04:00

320 lines
12 KiB
Diff

From 93d4e01a8b56e9e07b323e1d156ee2fc022d0c08 Mon Sep 17 00:00:00 2001
From: Lubosz Sarnecki <lubosz@gmail.com>
Date: Mon, 4 Aug 2014 12:55:40 +0200
Subject: [PATCH 3/3] fix PyVarObject_HEAD_INIT problem
http://bugs.python.org/issue10773
---
src/context.c | 4 ++--
src/font.c | 16 ++++++++--------
src/matrix.c | 3 ++-
src/path.c | 8 ++++----
src/pattern.c | 24 ++++++++++++------------
src/region.c | 6 ++++--
src/surface.c | 30 ++++++++++++++++++++----------
7 files changed, 52 insertions(+), 39 deletions(-)
diff --git a/src/context.c b/src/context.c
index 984cdfc..3d7e334 100644
--- a/src/context.c
+++ b/src/context.c
@@ -1344,8 +1344,8 @@ static PyMethodDef pycairo_methods[] = {
};
PyTypeObject PycairoContext_Type = {
- PyVarObject_HEAD_INIT(&PyType_Type, 0)
- // PyObject_HEAD_INIT(NULL)
+ //PyVarObject_HEAD_INIT(&PyType_Type, 0)
+ PyObject_HEAD_INIT(NULL)
//0, /* ob_size */
"cairo.Context", /* tp_name */
sizeof(PycairoContext), /* tp_basicsize */
diff --git a/src/font.c b/src/font.c
index 6c7ca4e..7c92692 100644
--- a/src/font.c
+++ b/src/font.c
@@ -90,8 +90,8 @@ static PyMethodDef font_face_methods[] = {
*/
PyTypeObject PycairoFontFace_Type = {
- PyVarObject_HEAD_INIT(&PyType_Type, 0)
- //PyObject_HEAD_INIT(NULL)
+ //PyVarObject_HEAD_INIT(&PyType_Type, 0)
+ PyObject_HEAD_INIT(NULL)
//0, /* ob_size */
"cairo.FontFace", /* tp_name */
sizeof(PycairoFontFace), /* tp_basicsize */
@@ -178,8 +178,8 @@ static PyMethodDef toy_font_face_methods[] = {
PyTypeObject PycairoToyFontFace_Type = {
- PyVarObject_HEAD_INIT(&PyType_Type, 0)
- //PyObject_HEAD_INIT(NULL)
+ //PyVarObject_HEAD_INIT(&PyType_Type, 0)
+ PyObject_HEAD_INIT(NULL)
//0, /* ob_size */
"cairo.ToyFontFace", /* tp_name */
sizeof(PycairoToyFontFace), /* tp_basicsize */
@@ -340,8 +340,8 @@ static PyMethodDef scaled_font_methods[] = {
PyTypeObject PycairoScaledFont_Type = {
- PyVarObject_HEAD_INIT(&PyType_Type, 0)
- //PyObject_HEAD_INIT(NULL)
+ //PyVarObject_HEAD_INIT(&PyType_Type, 0)
+ PyObject_HEAD_INIT(NULL)
//0, /* ob_size */
"cairo.ScaledFont", /* tp_name */
sizeof(PycairoScaledFont), /* tp_basicsize */
@@ -527,8 +527,8 @@ static PyMethodDef font_options_methods[] = {
PyTypeObject PycairoFontOptions_Type = {
- PyVarObject_HEAD_INIT(&PyType_Type, 0)
- //PyObject_HEAD_INIT(NULL)
+ //PyVarObject_HEAD_INIT(&PyType_Type, 0)
+ PyObject_HEAD_INIT(NULL)
//0, /* ob_size */
"cairo.FontOptions", /* tp_name */
sizeof(PycairoFontOptions), /* tp_basicsize */
diff --git a/src/matrix.c b/src/matrix.c
index 24f6e4a..3601037 100644
--- a/src/matrix.c
+++ b/src/matrix.c
@@ -284,7 +284,8 @@ static PyMethodDef matrix_methods[] = {
};
PyTypeObject PycairoMatrix_Type = {
- PyVarObject_HEAD_INIT(&PyType_Type, 0)
+ PyObject_HEAD_INIT(NULL)
+ //PyVarObject_HEAD_INIT(&PyType_Type, 0)
"cairo.Matrix", /* tp_name */
sizeof(PycairoMatrix), /* tp_basicsize */
0, /* tp_itemsize */
diff --git a/src/path.c b/src/path.c
index e0814d8..546f28d 100644
--- a/src/path.c
+++ b/src/path.c
@@ -165,8 +165,8 @@ static PyObject * path_iter(PyObject *seq); /* forward declaration */
PyTypeObject PycairoPath_Type = {
- PyVarObject_HEAD_INIT(&PyType_Type, 0)
- //PyObject_HEAD_INIT(NULL)
+ //PyVarObject_HEAD_INIT(&PyType_Type, 0)
+ PyObject_HEAD_INIT(NULL)
//0, /* ob_size */
"cairo.Path", /* tp_name */
sizeof(PycairoPath), /* tp_basicsize */
@@ -286,8 +286,8 @@ pathiter_next(PycairoPathiter *it) {
}
PyTypeObject PycairoPathiter_Type = {
- PyVarObject_HEAD_INIT(&PyType_Type, 0)
- //PyObject_HEAD_INIT(NULL)
+ //PyVarObject_HEAD_INIT(&PyType_Type, 0)
+ PyObject_HEAD_INIT(NULL)
//0, /* ob_size */
"cairo.Pathiter", /* tp_name */
sizeof(PycairoPathiter), /* tp_basicsize */
diff --git a/src/pattern.c b/src/pattern.c
index 9daf5c4..685de55 100644
--- a/src/pattern.c
+++ b/src/pattern.c
@@ -153,8 +153,8 @@ static PyMethodDef pattern_methods[] = {
};
PyTypeObject PycairoPattern_Type = {
- PyVarObject_HEAD_INIT(&PyType_Type, 0)
- //PyObject_HEAD_INIT(NULL)
+ //PyVarObject_HEAD_INIT(&PyType_Type, 0)
+ PyObject_HEAD_INIT(NULL)
//0, /* ob_size */
"cairo.Pattern", /* tp_name */
sizeof(PycairoPattern), /* tp_basicsize */
@@ -223,8 +223,8 @@ static PyMethodDef solid_pattern_methods[] = {
};
PyTypeObject PycairoSolidPattern_Type = {
- PyVarObject_HEAD_INIT(&PyType_Type, 0)
- //PyObject_HEAD_INIT(NULL)
+ //PyVarObject_HEAD_INIT(&PyType_Type, 0)
+ PyObject_HEAD_INIT(NULL)
//0, /* ob_size */
"cairo.SolidPattern", /* tp_name */
sizeof(PycairoSolidPattern), /* tp_basicsize */
@@ -316,8 +316,8 @@ static PyMethodDef surface_pattern_methods[] = {
};
PyTypeObject PycairoSurfacePattern_Type = {
- PyVarObject_HEAD_INIT(&PyType_Type, 0)
- //PyObject_HEAD_INIT(NULL)
+ //PyVarObject_HEAD_INIT(&PyType_Type, 0)
+ PyObject_HEAD_INIT(NULL)
//0, /* ob_size */
"cairo.SurfacePattern", /* tp_name */
sizeof(PycairoSurfacePattern), /* tp_basicsize */
@@ -402,8 +402,8 @@ static PyMethodDef gradient_methods[] = {
};
PyTypeObject PycairoGradient_Type = {
- PyVarObject_HEAD_INIT(&PyType_Type, 0)
- //PyObject_HEAD_INIT(NULL)
+ //PyVarObject_HEAD_INIT(&PyType_Type, 0)
+ PyObject_HEAD_INIT(NULL)
//0, /* ob_size */
"cairo.Gradient", /* tp_name */
sizeof(PycairoGradient), /* tp_basicsize */
@@ -473,8 +473,8 @@ static PyMethodDef linear_gradient_methods[] = {
};
PyTypeObject PycairoLinearGradient_Type = {
- PyVarObject_HEAD_INIT(&PyType_Type, 0)
- //PyObject_HEAD_INIT(NULL)
+ //PyVarObject_HEAD_INIT(&PyType_Type, 0)
+ PyObject_HEAD_INIT(NULL)
//0, /* ob_size */
"cairo.LinearGradient", /* tp_name */
sizeof(PycairoLinearGradient), /* tp_basicsize */
@@ -546,8 +546,8 @@ static PyMethodDef radial_gradient_methods[] = {
};
PyTypeObject PycairoRadialGradient_Type = {
- PyVarObject_HEAD_INIT(&PyType_Type, 0)
- //PyObject_HEAD_INIT(NULL)
+ //PyVarObject_HEAD_INIT(&PyType_Type, 0)
+ PyObject_HEAD_INIT(NULL)
//0, /* ob_size */
"cairo.RadialGradient", /* tp_name */
sizeof(PycairoRadialGradient), /* tp_basicsize */
diff --git a/src/region.c b/src/region.c
index 2198ccd..54e98a7 100644
--- a/src/region.c
+++ b/src/region.c
@@ -127,7 +127,8 @@ static PyMemberDef RectangleInt_members[] = {
};
PyTypeObject PycairoRectangleInt_Type = {
- PyVarObject_HEAD_INIT(&PyType_Type, 0)
+ //PyVarObject_HEAD_INIT(&PyType_Type, 0)
+ PyObject_HEAD_INIT(NULL)
"cairo.RectangleInt", /* tp_name */
sizeof(PycairoRectangleInt), /* tp_basicsize */
0, /* tp_itemsize */
@@ -557,7 +558,8 @@ static PyMethodDef region_methods[] = {
};
PyTypeObject PycairoRegion_Type = {
- PyVarObject_HEAD_INIT(&PyType_Type, 0)
+ PyObject_HEAD_INIT(NULL)
+ //PyVarObject_HEAD_INIT(&PyType_Type, 0)
"cairo.Region", /* tp_name */
sizeof(PycairoRegion), /* tp_basicsize */
0, /* tp_itemsize */
diff --git a/src/surface.c b/src/surface.c
index 204af68..23333de 100644
--- a/src/surface.c
+++ b/src/surface.c
@@ -390,7 +390,8 @@ static PyMethodDef surface_methods[] = {
PyTypeObject PycairoSurface_Type = {
- PyVarObject_HEAD_INIT(&PyType_Type, 0)
+ PyObject_HEAD_INIT(NULL)
+ //PyVarObject_HEAD_INIT(&PyType_Type, 0)
"cairo.Surface", /* tp_name */
sizeof(PycairoSurface), /* tp_basicsize */
0, /* tp_itemsize */
@@ -653,7 +654,8 @@ static PyMethodDef image_surface_methods[] = {
PyTypeObject PycairoImageSurface_Type = {
- PyVarObject_HEAD_INIT(&PyType_Type, 0)
+ //PyVarObject_HEAD_INIT(&PyType_Type, 0)
+ PyObject_HEAD_INIT(NULL)
"cairo.ImageSurface", /* tp_name */
sizeof(PycairoImageSurface), /* tp_basicsize */
0, /* tp_itemsize */
@@ -806,7 +808,8 @@ static PyMethodDef pdf_surface_methods[] = {
};
PyTypeObject PycairoPDFSurface_Type = {
- PyVarObject_HEAD_INIT(&PyType_Type, 0)
+ //PyVarObject_HEAD_INIT(&PyType_Type, 0)
+ PyObject_HEAD_INIT(NULL)
"cairo.PDFSurface", /* tp_name */
sizeof(PycairoPDFSurface), /* tp_basicsize */
0, /* tp_itemsize */
@@ -1005,7 +1008,8 @@ static PyMethodDef ps_surface_methods[] = {
};
PyTypeObject PycairoPSSurface_Type = {
- PyVarObject_HEAD_INIT(&PyType_Type, 0)
+ //PyVarObject_HEAD_INIT(&PyType_Type, 0)
+ PyObject_HEAD_INIT(NULL)
"cairo.PSSurface", /* tp_name */
sizeof(PycairoPSSurface), /* tp_basicsize */
0, /* tp_itemsize */
@@ -1096,7 +1100,8 @@ static PyMethodDef recording_surface_methods[] = {
};
PyTypeObject PycairoRecordingSurface_Type = {
- PyVarObject_HEAD_INIT(&PyType_Type, 0)
+ //PyVarObject_HEAD_INIT(&PyType_Type, 0)
+ PyObject_HEAD_INIT(NULL)
"cairo.RecordingSurface", /* tp_name */
sizeof(PycairoRecordingSurface), /* tp_basicsize */
0, /* tp_itemsize */
@@ -1235,7 +1240,8 @@ static PyMethodDef svg_surface_methods[] = {
};
PyTypeObject PycairoSVGSurface_Type = {
- PyVarObject_HEAD_INIT(&PyType_Type, 0)
+ //PyVarObject_HEAD_INIT(&PyType_Type, 0)
+ PyObject_HEAD_INIT(NULL)
"cairo.SVGSurface", /* tp_name */
sizeof(PycairoSVGSurface), /* tp_basicsize */
0, /* tp_itemsize */
@@ -1299,7 +1305,8 @@ static PyMethodDef win32_surface_methods[] = {
};
PyTypeObject PycairoWin32Surface_Type = {
- PyVarObject_HEAD_INIT(&PyType_Type, 0)
+ //PyVarObject_HEAD_INIT(&PyType_Type, 0)
+ PyObject_HEAD_INIT(NULL)
"cairo.Win32Surface", /* tp_name */
sizeof(PycairoWin32Surface), /* tp_basicsize */
0, /* tp_itemsize */
@@ -1360,7 +1367,8 @@ static PyMethodDef win32_printing_surface_methods[] = {
};
PyTypeObject PycairoWin32PrintingSurface_Type = {
- PyVarObject_HEAD_INIT(&PyType_Type, 0)
+ //PyVarObject_HEAD_INIT(&PyType_Type, 0)
+ PyObject_HEAD_INIT(NULL)
"cairo.Win32PrintingSurface", /* tp_name */
sizeof(PycairoWin32PrintingSurface), /* tp_basicsize */
0, /* tp_itemsize */
@@ -1508,7 +1516,8 @@ static PyMethodDef xcb_surface_methods[] = {
};
PyTypeObject PycairoXCBSurface_Type = {
- PyVarObject_HEAD_INIT(&PyType_Type, 0)
+ //PyVarObject_HEAD_INIT(&PyType_Type, 0)
+ PyObject_HEAD_INIT(NULL)
"cairo.XCBSurface", /* tp_name */
sizeof(PycairoXCBSurface), /* tp_basicsize */
0, /* tp_itemsize */
@@ -1587,7 +1596,8 @@ static PyMethodDef xlib_surface_methods[] = {
};
PyTypeObject PycairoXlibSurface_Type = {
- PyVarObject_HEAD_INIT(&PyType_Type, 0)
+ //PyVarObject_HEAD_INIT(&PyType_Type, 0)
+ PyObject_HEAD_INIT(NULL)
"cairo.XlibSurface", /* tp_name */
sizeof(PycairoXlibSurface), /* tp_basicsize */
0, /* tp_itemsize */
--
2.0.4