Mercurial > pidgin
comparison libpurple/protocols/msn/cmdproc.c @ 23552:e069c16db597
Always save the MSN transaction in each command, not just for
synchronous ones. Apparently, "URL" may or may not be async, but we
also send it ourselves, too, and we need the transaction for other
things.
References #5762.
author | Elliott Sales de Andrade <qulogic@pidgin.im> |
---|---|
date | Thu, 17 Jul 2008 03:23:59 +0000 |
parents | ba47ec8a2477 |
children | 0ffa511ac165 |
comparison
equal
deleted
inserted
replaced
23551:73f61c445827 | 23552:e069c16db597 |
---|---|
261 { | 261 { |
262 MsnTransCb cb = NULL; | 262 MsnTransCb cb = NULL; |
263 MsnTransaction *trans = NULL; | 263 MsnTransaction *trans = NULL; |
264 | 264 |
265 if (cmd->trId) | 265 if (cmd->trId) |
266 trans = msn_history_find(cmdproc->history, cmd->trId); | 266 cmd->trans = trans = msn_history_find(cmdproc->history, cmd->trId); |
267 | 267 |
268 if (trans != NULL) | 268 if (trans != NULL) |
269 if (trans->timer) { | 269 if (trans->timer) { |
270 purple_timeout_remove(trans->timer); | 270 purple_timeout_remove(trans->timer); |
271 trans->timer = 0; | 271 trans->timer = 0; |
307 if (cmdproc->cbs_table->async != NULL) | 307 if (cmdproc->cbs_table->async != NULL) |
308 cb = g_hash_table_lookup(cmdproc->cbs_table->async, cmd->command); | 308 cb = g_hash_table_lookup(cmdproc->cbs_table->async, cmd->command); |
309 | 309 |
310 if (cb == NULL && trans != NULL) | 310 if (cb == NULL && trans != NULL) |
311 { | 311 { |
312 cmd->trans = trans; | |
313 | |
314 if (trans->callbacks != NULL) | 312 if (trans->callbacks != NULL) |
315 cb = g_hash_table_lookup(trans->callbacks, cmd->command); | 313 cb = g_hash_table_lookup(trans->callbacks, cmd->command); |
316 } | 314 } |
317 | 315 |
318 if (cb == NULL && cmdproc->cbs_table->fallback != NULL) | 316 if (cb == NULL && cmdproc->cbs_table->fallback != NULL) |