From c34c48dfb4d40c57a5b99a16b16feb41a1433582 Mon Sep 17 00:00:00 2001 From: Ignacio Casal Quinteiro <icq@gnome.org> Date: Fri, 9 Sep 2011 17:22:42 +0200 Subject: [PATCH] Bump pygobject requisite to pygobject 3. --- configure.ac | 6 +++--- plugins/python/glade-python.c | 38 +++++++++++++++++++++----------------- 2 files changed, 24 insertions(+), 20 deletions(-) diff --git a/configure.ac b/configure.ac index d24cf2f..9108d4e 100644 --- a/configure.ac +++ b/configure.ac @@ -144,9 +144,9 @@ AM_CONDITIONAL(HAVE_GTK_UNIX_PRINT, test x"$have_unix_print" = "xyes") dnl ================================================================ dnl Python for optional python dev libs dnl ================================================================ -PYGOBJECT_REQS=2.27.0 +PYGOBJECT_REQS=2.90.0 PYGOBJECT_REQUIRED_MAJOR=2 -PYGOBJECT_REQUIRED_MINOR=27 +PYGOBJECT_REQUIRED_MINOR=90 PYGOBJECT_REQUIRED_MICRO=0 AC_ARG_ENABLE(python, @@ -156,7 +156,7 @@ AC_ARG_ENABLE(python, if test x"$check_python" = x"yes"; then have_python=yes - PKG_CHECK_MODULES([PYGOBJECT],[pygobject-2.0 >= ${PYGOBJECT_REQUIRED_MAJOR}.${PYGOBJECT_REQUIRED_MINOR}.${PYGOBJECT_REQUIRED_MICRO}],[have_pygobject=yes],[have_pygobject=no]) + PKG_CHECK_MODULES([PYGOBJECT],[pygobject-3.0 >= ${PYGOBJECT_REQUIRED_MAJOR}.${PYGOBJECT_REQUIRED_MINOR}.${PYGOBJECT_REQUIRED_MICRO}],[have_pygobject=yes],[have_pygobject=no]) AM_CHECK_PYTHON_HEADERS(, [have_python_headers=no]) AM_CHECK_PYTHON_LIBS(, [have_python_lib=no]) diff --git a/plugins/python/glade-python.c b/plugins/python/glade-python.c index 833b7de..14a2679 100644 --- a/plugins/python/glade-python.c +++ b/plugins/python/glade-python.c @@ -44,29 +44,33 @@ python_init (void) static void glade_python_init_pygobject_check (gint req_major, gint req_minor, gint req_micro) { - PyObject *gobject, *mdict, *version; - int found_major, found_minor, found_micro; + PyObject *gi, *gobject; - init_pygobject (); + /* import gobject */ + pygobject_init (req_major, req_minor, req_micro); + if (PyErr_Occurred ()) + { + g_warning ("Error initializing Python interpreter: could not " + "import pygobject"); + + return; + } - gobject = PyImport_ImportModule ("gobject"); - mdict = PyModule_GetDict (gobject); - version = PyDict_GetItemString (mdict, "pygobject_version"); - if (!version) + gi = PyImport_ImportModule ("gi"); + if (gi == NULL) { - PyErr_SetString (PyExc_ImportError, "PyGObject version too old"); + g_warning ("Error initializing Python interpreter: could not " + "import gi"); + 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)) + + gobject = PyImport_ImportModule ("gi.repository.GObject"); + if (gobject == NULL) { - 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); + g_warning ("Error initializing Python interpreter: could not " + "import gobject"); + return; } } -- 1.7.6.1