diff options
author | Johan Dahlin <johan@gnome.org> | 2008-07-27 09:49:13 +0000 |
---|---|---|
committer | Johan Dahlin <johan@src.gnome.org> | 2008-07-27 09:49:13 +0000 |
commit | 2c9df6000e93158e14cf279e0cf3ee19acad11d0 (patch) | |
tree | c9f963f53f9ab9e3f9ed6ef743d32441e0aaf956 /gobject/gobjectmodule.c | |
parent | 37fe32b72d4b2530aaf28bd343c424898e45ab2c (diff) | |
download | pygobject-2c9df6000e93158e14cf279e0cf3ee19acad11d0.tar.gz pygobject-2c9df6000e93158e14cf279e0cf3ee19acad11d0.tar.xz pygobject-2c9df6000e93158e14cf279e0cf3ee19acad11d0.zip |
Add a Py_TYPE macro for accessing ob_type.
2008-07-27 Johan Dahlin <johan@gnome.org>
* glib/pyglib-python-compat.h:
Add a Py_TYPE macro for accessing ob_type.
* glib/glibmodule.c (pyglib_register_constants):
* gobject/gobjectmodule.c (pygobject__g_instance_init),
(pyg_integer_richcompare):
* gobject/pygenum.c (pyg_enum_repr), (pyg_enum_from_gtype),
(pyg_enum_add), (pyg_enum_get_value_name),
(pyg_enum_get_value_nick):
* gobject/pygflags.c (pyg_flags_repr), (pyg_flags_from_gtype),
(pyg_flags_add), (pyg_flags_and), (pyg_flags_or), (pyg_flags_xor),
(pyg_flags_get_first_value_name), (pyg_flags_get_first_value_nick),
(pyg_flags_get_value_names), (pyg_flags_get_value_nicks):
Use Py_TYPE and PyLong macros to access struct fields
svn path=/trunk/; revision=885
Diffstat (limited to 'gobject/gobjectmodule.c')
-rw-r--r-- | gobject/gobjectmodule.c | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/gobject/gobjectmodule.c b/gobject/gobjectmodule.c index 0ec1382..7fb9154 100644 --- a/gobject/gobjectmodule.c +++ b/gobject/gobjectmodule.c @@ -1045,7 +1045,7 @@ pygobject__g_instance_init(GTypeInstance *instance, wrapper = pygobject_new_full(object, FALSE, g_class); args = PyTuple_New(0); kwargs = PyDict_New(); - if (wrapper->ob_type->tp_init(wrapper, args, kwargs)) + if (Py_TYPE(wrapper)->tp_init(wrapper, args, kwargs)) PyErr_Print(); Py_DECREF(args); Py_DECREF(kwargs); @@ -2306,7 +2306,6 @@ pyg_set_object_has_new_constructor(GType type) g_type_set_qdata(type, pygobject_has_updated_constructor_key, GINT_TO_POINTER(1)); } -#define GET_INT(x) (((_PyLongObject*)x)->ob_ival) PyObject * pyg_integer_richcompare(PyObject *v, PyObject *w, int op) { @@ -2314,12 +2313,12 @@ pyg_integer_richcompare(PyObject *v, PyObject *w, int op) gboolean t; switch (op) { - case Py_EQ: t = GET_INT(v) == GET_INT(w); break; - case Py_NE: t = GET_INT(v) != GET_INT(w); break; - case Py_LE: t = GET_INT(v) <= GET_INT(w); break; - case Py_GE: t = GET_INT(v) >= GET_INT(w); break; - case Py_LT: t = GET_INT(v) < GET_INT(w); break; - case Py_GT: t = GET_INT(v) > GET_INT(w); break; + case Py_EQ: t = _PyLong_AS_LONG(v) == _PyLong_AS_LONG(w); break; + case Py_NE: t = _PyLong_AS_LONG(v) != _PyLong_AS_LONG(w); break; + case Py_LE: t = _PyLong_AS_LONG(v) <= _PyLong_AS_LONG(w); break; + case Py_GE: t = _PyLong_AS_LONG(v) >= _PyLong_AS_LONG(w); break; + case Py_LT: t = _PyLong_AS_LONG(v) < _PyLong_AS_LONG(w); break; + case Py_GT: t = _PyLong_AS_LONG(v) > _PyLong_AS_LONG(w); break; default: g_assert_not_reached(); } @@ -2327,7 +2326,6 @@ pyg_integer_richcompare(PyObject *v, PyObject *w, int op) Py_INCREF(result); return result; } -#undef GET_INT static void _log_func(const gchar *log_domain, |