320 lines
12 KiB
Diff
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
|