diff options
author | John Finlay <finlay@src.gnome.org> | 2006-05-20 20:35:26 +0000 |
---|---|---|
committer | John Finlay <finlay@src.gnome.org> | 2006-05-20 20:35:26 +0000 |
commit | a0805ffd638a24b832770be740be6a751b6c99c1 (patch) | |
tree | 2879a8ac1b87df83cd8f9eb8dfa174803baddc1d /pangocairo.override | |
parent | 14606876e9d9f064719ce10cec8aebd2de6e5972 (diff) | |
download | pygtk-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.override | 17 |
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; } |