diff --git a/Don-t-raise-an-error-in-_pygi_import-if-pygi-support-is-disabled.patch b/Don-t-raise-an-error-in-_pygi_import-if-pygi-support-is-disabled.patch new file mode 100644 index 0000000..09fb262 --- /dev/null +++ b/Don-t-raise-an-error-in-_pygi_import-if-pygi-support-is-disabled.patch @@ -0,0 +1,82 @@ +From 23fc0f615d87994acafd9d39e92dd92b587fc2eb Mon Sep 17 00:00:00 2001 +From: Simon van der Linden +Date: Thu, 21 Jan 2010 17:30:51 +0100 +Subject: [PATCH] Don't raise an error in _pygi_import if pygi support is disabled + +http://bugzilla.gnome.org/show_bug.cgi?id=607674 +--- + gobject/pygboxed.c | 6 +----- + gobject/pygi-external.h | 1 - + gobject/pygobject.c | 6 +----- + gobject/pygpointer.c | 6 +----- + 4 files changed, 3 insertions(+), 16 deletions(-) + +diff --git a/gobject/pygboxed.c b/gobject/pygboxed.c +index 1233b01..87695eb 100644 +--- a/gobject/pygboxed.c ++++ b/gobject/pygboxed.c +@@ -185,12 +185,8 @@ pyg_boxed_new(GType boxed_type, gpointer boxed, gboolean copy_boxed, + + tp = g_type_get_qdata(boxed_type, pygboxed_type_key); + +- if (tp == NULL) { ++ if (!tp) + tp = (PyTypeObject *)pygi_type_import_by_g_type(boxed_type); +- if (tp == NULL) { +- PyErr_Clear(); +- } +- } + + if (!tp) + tp = (PyTypeObject *)&PyGBoxed_Type; /* fallback */ +diff --git a/gobject/pygi-external.h b/gobject/pygi-external.h +index e0d11c2..aec2f25 100644 +--- a/gobject/pygi-external.h ++++ b/gobject/pygi-external.h +@@ -49,7 +49,6 @@ _pygi_import (void) + + return 0; + #else +- PyErr_SetString(PyExc_ImportError, "PyGI support not enabled"); + return -1; + #endif /* ENABLE_PYGI */ + } +diff --git a/gobject/pygobject.c b/gobject/pygobject.c +index 222280b..f8d7dd1 100644 +--- a/gobject/pygobject.c ++++ b/gobject/pygobject.c +@@ -874,12 +874,8 @@ pygobject_lookup_class(GType gtype) + if (py_type == NULL) { + py_type = g_type_get_qdata(gtype, pyginterface_type_key); + +- if (py_type == NULL) { ++ if (py_type == NULL) + py_type = (PyTypeObject *)pygi_type_import_by_g_type(gtype); +- if (py_type == NULL) { +- PyErr_Clear(); +- } +- } + + if (py_type == NULL) { + py_type = pygobject_new_with_interfaces(gtype); +diff --git a/gobject/pygpointer.c b/gobject/pygpointer.c +index 449b80c..5f6417f 100644 +--- a/gobject/pygpointer.c ++++ b/gobject/pygpointer.c +@@ -159,12 +159,8 @@ pyg_pointer_new(GType pointer_type, gpointer pointer) + + tp = g_type_get_qdata(pointer_type, pygpointer_class_key); + +- if (tp == NULL) { ++ if (!tp) + tp = (PyTypeObject *)pygi_type_import_by_g_type(pointer_type); +- if (tp == NULL) { +- PyErr_Clear(); +- } +- } + + if (!tp) + tp = (PyTypeObject *)&PyGPointer_Type; /* fallback */ +-- +1.6.6.1 + diff --git a/pygobject2.spec b/pygobject2.spec index df5fcc6..c37ee64 100644 --- a/pygobject2.spec +++ b/pygobject2.spec @@ -15,7 +15,7 @@ Name: pygobject2 Version: 2.21.1 -Release: 7%{?dist} +Release: 8%{?dist} License: LGPLv2+ Group: Development/Languages Summary: Python bindings for GObject