| 138 static void |
138 static void |
| 139 choice_response_cb(GtkDialog *dialog, gint id, GaimGtkRequestData *data) |
139 choice_response_cb(GtkDialog *dialog, gint id, GaimGtkRequestData *data) |
| 140 { |
140 { |
| 141 GtkWidget *radio = g_object_get_data(G_OBJECT(dialog), "radio"); |
141 GtkWidget *radio = g_object_get_data(G_OBJECT(dialog), "radio"); |
| 142 GSList *group = gtk_radio_button_get_group(GTK_RADIO_BUTTON(radio)); |
142 GSList *group = gtk_radio_button_get_group(GTK_RADIO_BUTTON(radio)); |
| 143 if (id < data->cb_count) |
143 if (id < data->cb_count && data->cbs[id] != NULL) |
| 144 while (group) { |
144 while (group) { |
| 145 if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(group->data))) { |
145 if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(group->data))) { |
| 146 ((GaimRequestChoiceCb)data->cbs[id])(data->user_data, GPOINTER_TO_INT(g_object_get_data(G_OBJECT(group->data), "choice_id"))); |
146 ((GaimRequestChoiceCb)data->cbs[id])(data->user_data, GPOINTER_TO_INT(g_object_get_data(G_OBJECT(group->data), "choice_id"))); |
| 147 break; |
147 break; |
| 148 } |
148 } |