diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2017-07-27 17:13:19 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2017-07-27 17:13:19 (GMT) |
commit | 77f88a59bfb9296df7e995e99218d27862136588 (patch) | |
tree | 6e9897f690b50da53d77266095eccb358912a1cb /plugins/pychrysa/gtkext/blockdisplay.c | |
parent | 359055e28bcd195fb03fd0deb1a30e5a04d5ce58 (diff) |
Fixed several mistakes in the Python bindings.
Diffstat (limited to 'plugins/pychrysa/gtkext/blockdisplay.c')
-rw-r--r-- | plugins/pychrysa/gtkext/blockdisplay.c | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/plugins/pychrysa/gtkext/blockdisplay.c b/plugins/pychrysa/gtkext/blockdisplay.c index 06f14d8..a329daf 100644 --- a/plugins/pychrysa/gtkext/blockdisplay.c +++ b/plugins/pychrysa/gtkext/blockdisplay.c @@ -25,6 +25,7 @@ #include "blockdisplay.h" +#include <string.h> #include <pygobject.h> @@ -65,7 +66,7 @@ PyTypeObject *get_python_block_display_type(void) .tp_name = "pychrysalide.gtkext.BlockDisplay", .tp_basicsize = sizeof(PyGObject), - .tp_flags = Py_TPFLAGS_DEFAULT, + .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HEAPTYPE, .tp_doc = "PyChrysalide block display.", @@ -74,7 +75,17 @@ PyTypeObject *get_python_block_display_type(void) }; - return &py_block_display_type; + static PyTypeObject *result = NULL; + + if (result == NULL) + { + result = calloc(1, sizeof(PyTypeObject)); + + memcpy(result, &py_block_display_type, sizeof(PyTypeObject)); + + } + + return result; } |