summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohan Dahlin <zilch@src.gnome.org>2005-03-16 13:45:36 +0000
committerJohan Dahlin <zilch@src.gnome.org>2005-03-16 13:45:36 +0000
commit2dde95168226f4ea3893ed83ea786f25684191b3 (patch)
treeb81adf3cf50c2f42e645bd08fa150468cc5a015b
parent063c04b0851097bf2a96f097a27e5b1a3825267a (diff)
downloadpygtk-2-4.tar.gz
Allow argument to RadioButtion.set_radio_group to be empty, fixes #170514pygtk-2-4
* gtk/gtk.override: Allow argument to RadioButtion.set_radio_group to be empty, fixes #170514 (Lorenzo Gil Sanchez)
-rw-r--r--ChangeLog5
-rw-r--r--gtk/gtk.override45
2 files changed, 22 insertions, 28 deletions
diff --git a/ChangeLog b/ChangeLog
index e9a56c41..51646cb8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2005-03-16 Johan Dahlin <jdahlin@async.com.br>
+
+ * gtk/gtk.override: Allow argument to RadioButtion.set_radio_group
+ to be empty, fixes #170514 (Lorenzo Gil Sanchez)
+
2005-03-14 Lorenzo Gil Sanchez <lgs@sicem.biz>
* gobject/pygparamspec.c (pyg_param_spec_getattr): in case the enum
diff --git a/gtk/gtk.override b/gtk/gtk.override
index 8980b646..51cf0ac6 100644
--- a/gtk/gtk.override
+++ b/gtk/gtk.override
@@ -1412,26 +1412,6 @@ _wrap_gtk_radio_button_get_group(PyGObject *self) {
return py_list;
}
%%
-override gtk_radio_button_set_group kwargs
-static PyObject *
-_wrap_gtk_radio_button_set_group(PyGObject *self, PyObject *args,
- PyObject *kwargs) {
- static char *kwlist[] = { "group", NULL };
- PyObject *py_group;
- GSList *list;
- GtkRadioButton *group;
-
- if (!PyArg_ParseTupleAndKeywords(args,kwargs,"O!:GtkRadioButton.set_group",
- kwlist, &PyGtkRadioButton_Type,
- &py_group))
- return NULL;
- group = GTK_RADIO_BUTTON(pygobject_get(py_group));
- list = gtk_radio_button_get_group(group);
- gtk_radio_button_set_group(GTK_RADIO_BUTTON(self->obj), list);
- Py_INCREF(Py_None);
- return Py_None;
-}
-%%
override gtk_list_item_new kwargs
static int
_wrap_gtk_list_item_new(PyGObject *self, PyObject *args, PyObject *kwargs)
@@ -3507,17 +3487,26 @@ _wrap_gtk_radio_button_set_group(PyGObject *self, PyObject *args,
GSList *list;
GtkRadioButton *group;
- if (!PyArg_ParseTupleAndKeywords(args,kwargs,"O!:GtkRadioButton.set_group",
- kwlist, &PyGtkRadioButton_Type,
- &py_group))
- return NULL;
- group = GTK_RADIO_BUTTON(pygobject_get(py_group));
- list = gtk_radio_button_get_group(group);
- if (list == gtk_radio_button_get_group(GTK_RADIO_BUTTON(self->obj))) {
- PyErr_SetString(PyExc_ValueError, "radio button already in group");
+ if (!PyArg_ParseTupleAndKeywords(args,kwargs,"O:GtkRadioButton.set_group",
+ kwlist, &py_group))
return NULL;
+
+ if (pygobject_check(py_group, &PyGtkRadioButton_Type)) {
+ group = GTK_RADIO_BUTTON(pygobject_get(py_group));
+ list = gtk_radio_button_get_group(group);
+ if (list == gtk_radio_button_get_group(GTK_RADIO_BUTTON(self->obj))) {
+ PyErr_SetString(PyExc_ValueError, "radio button already in group");
+ return NULL;
+ }
+ } else if (py_group == Py_None) {
+ list = NULL;
+ } else {
+ PyErr_SetString(PyExc_TypeError, "group must be a RadioGroup or None");
+ return NULL;
}
+
gtk_radio_button_set_group(GTK_RADIO_BUTTON(self->obj), list);
+
Py_INCREF(Py_None);
return Py_None;
}