libpurple/protocols/gg/multilogon.c

changeset 40545
5f512eb3857f
parent 40439
e9838d634d5e
child 41763
4a51008d3f64
equal deleted inserted replaced
40544:a144fe8ec06f 40545:5f512eb3857f
198 198
199 purple_request_datasheet_record_remove( 199 purple_request_datasheet_record_remove(
200 purple_request_datasheet_record_get_datasheet(rec), key); 200 purple_request_datasheet_record_get_datasheet(rec), key);
201 } 201 }
202 202
203 static void
204 ggp_multilogin_close_request(ggp_multilogon_session_data *mldata)
205 {
206 mldata->sheet_handle = NULL;
207 mldata->dialog_handle = NULL;
208 }
209
203 void 210 void
204 ggp_multilogon_dialog(PurpleConnection *gc) 211 ggp_multilogon_dialog(PurpleConnection *gc)
205 { 212 {
206 ggp_multilogon_session_data *mldata = ggp_multilogon_get_mldata(gc); 213 ggp_multilogon_session_data *mldata = ggp_multilogon_get_mldata(gc);
207 PurpleRequestField *field; 214 PurpleRequestField *field;
246 cpar, NULL); 253 cpar, NULL);
247 mldata->sheet_handle = sheet; 254 mldata->sheet_handle = sheet;
248 mldata->dialog_handle = dialog_handle; 255 mldata->dialog_handle = dialog_handle;
249 256
250 purple_request_add_close_notify(dialog_handle, 257 purple_request_add_close_notify(dialog_handle,
251 purple_callback_set_zero, &mldata->sheet_handle); 258 (GDestroyNotify)ggp_multilogin_close_request, mldata);
252 purple_request_add_close_notify(dialog_handle, 259 }
253 purple_callback_set_zero, &mldata->dialog_handle);
254 }

mercurial