| 151 value = multiline_value; |
151 value = multiline_value; |
| 152 } |
152 } |
| 153 else |
153 else |
| 154 value = gtk_entry_get_text(GTK_ENTRY(data->u.input.entry)); |
154 value = gtk_entry_get_text(GTK_ENTRY(data->u.input.entry)); |
| 155 |
155 |
| 156 if (id < data->cb_count && data->cbs[id] != NULL) |
156 if (id >= 0 && (gsize)id < data->cb_count && data->cbs[id] != NULL) |
| 157 ((PurpleRequestInputCb)data->cbs[id])(data->user_data, value); |
157 ((PurpleRequestInputCb)data->cbs[id])(data->user_data, value); |
| 158 else if (data->cbs[1] != NULL) |
158 else if (data->cbs[1] != NULL) |
| 159 ((PurpleRequestInputCb)data->cbs[1])(data->user_data, value); |
159 ((PurpleRequestInputCb)data->cbs[1])(data->user_data, value); |
| 160 |
160 |
| 161 if (data->u.input.multiline) |
161 if (data->u.input.multiline) |
| 167 static void |
167 static void |
| 168 action_response_cb(GtkDialog *dialog, gint id, PidginRequestData *data) |
168 action_response_cb(GtkDialog *dialog, gint id, PidginRequestData *data) |
| 169 { |
169 { |
| 170 generic_response_start(data); |
170 generic_response_start(data); |
| 171 |
171 |
| 172 if (id < data->cb_count && data->cbs[id] != NULL) |
172 if (id >= 0 && (gsize)id < data->cb_count && data->cbs[id] != NULL) |
| 173 ((PurpleRequestActionCb)data->cbs[id])(data->user_data, id); |
173 ((PurpleRequestActionCb)data->cbs[id])(data->user_data, id); |
| 174 |
174 |
| 175 purple_request_close(PURPLE_REQUEST_INPUT, data); |
175 purple_request_close(PURPLE_REQUEST_INPUT, data); |
| 176 } |
176 } |
| 177 |
177 |
| 182 GtkWidget *radio = g_object_get_data(G_OBJECT(dialog), "radio"); |
182 GtkWidget *radio = g_object_get_data(G_OBJECT(dialog), "radio"); |
| 183 GSList *group = gtk_radio_button_get_group(GTK_RADIO_BUTTON(radio)); |
183 GSList *group = gtk_radio_button_get_group(GTK_RADIO_BUTTON(radio)); |
| 184 |
184 |
| 185 generic_response_start(data); |
185 generic_response_start(data); |
| 186 |
186 |
| 187 if (id < data->cb_count && data->cbs[id] != NULL) |
187 if (id >= 0 && (gsize)id < data->cb_count && data->cbs[id] != NULL) |
| 188 while (group) { |
188 while (group) { |
| 189 if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(group->data))) { |
189 if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(group->data))) { |
| 190 ((PurpleRequestChoiceCb)data->cbs[id])(data->user_data, GPOINTER_TO_INT(g_object_get_data(G_OBJECT(group->data), "choice_id"))); |
190 ((PurpleRequestChoiceCb)data->cbs[id])(data->user_data, GPOINTER_TO_INT(g_object_get_data(G_OBJECT(group->data), "choice_id"))); |
| 191 break; |
191 break; |
| 192 } |
192 } |
| 593 GtkWidget *label; |
593 GtkWidget *label; |
| 594 GtkWidget *img = NULL; |
594 GtkWidget *img = NULL; |
| 595 void **buttons; |
595 void **buttons; |
| 596 char *label_text; |
596 char *label_text; |
| 597 char *primary_esc, *secondary_esc; |
597 char *primary_esc, *secondary_esc; |
| 598 int i; |
598 gsize i; |
| 599 |
599 |
| 600 data = g_new0(PidginRequestData, 1); |
600 data = g_new0(PidginRequestData, 1); |
| 601 data->type = PURPLE_REQUEST_ACTION; |
601 data->type = PURPLE_REQUEST_ACTION; |
| 602 data->user_data = user_data; |
602 data->user_data = user_data; |
| 603 |
603 |