Sophie

Sophie

distrib > Fedora > 16 > x86_64 > media > updates-src > by-pkgid > 65ccdfc197afe40005a1a7d115c56de6 > files > 1

glade3-3.10.0-6.fc16.src.rpm

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