summaryrefslogtreecommitdiffstats
path: root/gobject
diff options
context:
space:
mode:
authorJohan Dahlin <johan@src.gnome.org>2006-09-04 23:52:13 +0000
committerJohan Dahlin <johan@src.gnome.org>2006-09-04 23:52:13 +0000
commitefd627d6486f9fb5d44e08d90180ac2d919c5cda (patch)
tree8c25f869fb2075d61695e70467fd94be0b603b67 /gobject
parent4c30f3dc12ca9497ac0d23f3e85ca175c3fe13b4 (diff)
downloadpygobject-efd627d6486f9fb5d44e08d90180ac2d919c5cda.tar.gz
pygobject-efd627d6486f9fb5d44e08d90180ac2d919c5cda.tar.xz
pygobject-efd627d6486f9fb5d44e08d90180ac2d919c5cda.zip
Improve the version checkPYGOBJECT_2_12_1
Diffstat (limited to 'gobject')
-rw-r--r--gobject/pygobject.h49
1 files changed, 25 insertions, 24 deletions
diff --git a/gobject/pygobject.h b/gobject/pygobject.h
index ce4ee00..dadfe76 100644
--- a/gobject/pygobject.h
+++ b/gobject/pygobject.h
@@ -293,30 +293,31 @@ struct _PyGObject_Functions *_PyGObject_API;
} \
} G_STMT_END
-#define init_pygobject_check(major, minor, micro) G_STMT_START { \
- init_pygobject(); \
- PyObject *gobject = PyImport_ImportModule("gobject"); \
- PyObject *mdict = PyModule_GetDict(gobject); \
- PyObject *version = PyDict_GetItemString(mdict, "pygobject_version"); \
- int found_major, found_minor, found_micro; \
- if (!version) \
- version = PyDict_GetItemString(mdict, "pygtk_version"); \
- if (!version) { \
- PyErr_SetString(PyExc_ImportError, \
- "PyGObject version too old"); \
- return; \
- } \
- if (!PyArg_ParseTuple(version, "iii", \
- &found_major, &found_minor, &found_micro)) \
- return; \
- if (major > found_major || minor > found_minor || \
- micro > found_micro) { \
- PyErr_Format(PyExc_ImportError, \
- "PyGObject version too old, %d.%d.%d is required, " \
- "found %d.%d.%d.", major, minor, micro, \
- found_major, found_minor, found_micro); \
- return; \
- } \
+#define init_pygobject_check(req_major, req_minor, req_micro) G_STMT_START { \
+ init_pygobject(); \
+ PyObject *gobject = PyImport_ImportModule("gobject"); \
+ PyObject *mdict = PyModule_GetDict(gobject); \
+ PyObject *version = PyDict_GetItemString(mdict, "pygobject_version"); \
+ int found_major, found_minor, found_micro; \
+ if (!version) \
+ version = PyDict_GetItemString(mdict, "pygtk_version"); \
+ if (!version) { \
+ PyErr_SetString(PyExc_ImportError, \
+ "PyGObject version too old"); \
+ return; \
+ } \
+ if (!PyArg_ParseTuple(version, "iii", \
+ &found_major, &found_minor, &found_micro)) \
+ return; \
+ if (req_major != found_major || \
+ req_minor > found_minor || \
+ req_minor == found_minor && req_micro > found_micro) { \
+ PyErr_Format(PyExc_ImportError, \
+ "PyGObject version mismatch, %d.%d.%d is required, " \
+ "found %d.%d.%d.", req_major, req_minor, req_micro, \
+ found_major, found_minor, found_micro); \
+ return; \
+ } \
} G_STMT_END
#endif /* !_INSIDE_PYGOBJECT_ */