diff options
| author | Johan Dahlin <johan@src.gnome.org> | 2006-09-04 23:52:13 +0000 |
|---|---|---|
| committer | Johan Dahlin <johan@src.gnome.org> | 2006-09-04 23:52:13 +0000 |
| commit | efd627d6486f9fb5d44e08d90180ac2d919c5cda (patch) | |
| tree | 8c25f869fb2075d61695e70467fd94be0b603b67 /gobject | |
| parent | 4c30f3dc12ca9497ac0d23f3e85ca175c3fe13b4 (diff) | |
| download | pygobject-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.h | 49 |
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_ */ |
