comparison src/protocols/msn/cmdproc.c @ 10225:ecf3ce2e2ab1

[gaim-migrate @ 11357] This is mostly a patch from Felipe Contreras that eliminates MSN switchboard errors and fixes MSN buddy icon syncronization, with some tweaks by me. Thank Felipe if it works, blame me if something broke. I also fixed a couple of text markup escaping things, fixed a glib warning that was bugging me, fix a rare SILC crash, and make gtkstatusselector.c compile (but do nothing) with gtk < 2.4 committer: Tailor Script <tailor@pidgin.im>
author Stu Tomlinson <stu@nosnilmot.com>
date Sun, 21 Nov 2004 17:48:09 +0000
parents 700f8fb9e581
children f776e117c17b
comparison
equal deleted inserted replaced
10224:ef7f9e69f03e 10225:ecf3ce2e2ab1
248 MsnTransaction *trans = NULL; 248 MsnTransaction *trans = NULL;
249 249
250 if (cmd->trId) 250 if (cmd->trId)
251 trans = msn_history_find(cmdproc->history, cmd->trId); 251 trans = msn_history_find(cmdproc->history, cmd->trId);
252 252
253 if (trans != NULL)
254 if (trans->timer)
255 gaim_timeout_remove(trans->timer);
256
253 if (g_ascii_isdigit(cmd->command[0])) 257 if (g_ascii_isdigit(cmd->command[0]))
254 { 258 {
255 if (trans != NULL) 259 if (trans != NULL)
256 { 260 {
257 MsnErrorCb error_cb = NULL; 261 MsnErrorCb error_cb = NULL;
258 int error; 262 int error;
259 263
260 error = atoi(cmd->command); 264 error = atoi(cmd->command);
261 if (cmdproc->cbs_table->errors != NULL) 265
266 if (trans->error_cb != NULL)
267 error_cb = trans->error_cb;
268
269 if (error_cb == NULL && cmdproc->cbs_table->errors != NULL)
262 error_cb = g_hash_table_lookup(cmdproc->cbs_table->errors, trans->command); 270 error_cb = g_hash_table_lookup(cmdproc->cbs_table->errors, trans->command);
263 271
264 if (error_cb != NULL) 272 if (error_cb != NULL)
273 {
265 error_cb(cmdproc, trans, error); 274 error_cb(cmdproc, trans, error);
275 }
266 else 276 else
267 { 277 {
268 #if 1 278 #if 1
269 msn_error_handle(cmdproc->session, error); 279 msn_error_handle(cmdproc->session, error);
270 #else 280 #else