summaryrefslogtreecommitdiff
path: root/pangocairo.override
diff options
context:
space:
mode:
authorJohn Finlay <finlay@src.gnome.org>2006-05-20 20:35:26 +0000
committerJohn Finlay <finlay@src.gnome.org>2006-05-20 20:35:26 +0000
commita0805ffd638a24b832770be740be6a751b6c99c1 (patch)
tree2879a8ac1b87df83cd8f9eb8dfa174803baddc1d /pangocairo.override
parent14606876e9d9f064719ce10cec8aebd2de6e5972 (diff)
downloadpygtk-a0805ffd638a24b832770be740be6a751b6c99c1.tar.gz
Allow font_options param to be None.
* pangocairo.override (_wrap_context_set_font_options): Allow font_options param to be None.
Diffstat (limited to 'pangocairo.override')
-rw-r--r--pangocairo.override17
1 files changed, 13 insertions, 4 deletions
diff --git a/pangocairo.override b/pangocairo.override
index f4d6eef7..b62dfe3f 100644
--- a/pangocairo.override
+++ b/pangocairo.override
@@ -48,13 +48,22 @@ _wrap_context_set_font_options(PyObject *self, PyObject *args, PyObject *kwargs)
{
static char *kwlist[] = { "context", "font_options", NULL };
PyGObject *context;
- PycairoFontOptions *options;
+ PyGObject *py_options;
+ const cairo_font_options_t *options;
- if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!O!:pangocairo.context_set_font_options",
+ if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!O:pangocairo.context_set_font_options",
kwlist, &PyPangoContext_Type, &context,
- &PycairoFontOptions_Type, &options))
+ &py_options))
return NULL;
- pango_cairo_context_set_font_options(PANGO_CONTEXT(context->obj), options->font_options);
+ if ((PyObject*)py_options == Py_None)
+ options = NULL;
+ else if (pygobject_check(py_options, &PycairoFontOptions_Type))
+ options = ((PycairoFontOptions *)py_options)->font_options;
+ else {
+ PyErr_SetString(PyExc_TypeError, "font_options must be a cairo.FontOptions or None");
+ return NULL;
+ }
+ pango_cairo_context_set_font_options(PANGO_CONTEXT(context->obj), options);
Py_INCREF(Py_None);
return Py_None;
}