Mercurial > pidgin
comparison src/connection.c @ 6393:74ca311ceb2a
[gaim-migrate @ 6898]
This manages to not make jabber (and maybe others) not crash on connection
errors and stuff.
committer: Tailor Script <tailor@pidgin.im>
| author | Nathan Walp <nwalp@pidgin.im> |
|---|---|
| date | Wed, 06 Aug 2003 14:33:58 +0000 |
| parents | ae8b0a12e6f3 |
| children | ff4551719cc7 |
comparison
equal
deleted
inserted
replaced
| 6392:e9974608b319 | 6393:74ca311ceb2a |
|---|---|
| 80 g_free(gc->away); | 80 g_free(gc->away); |
| 81 | 81 |
| 82 if (gc->away_state != NULL) | 82 if (gc->away_state != NULL) |
| 83 g_free(gc->away_state); | 83 g_free(gc->away_state); |
| 84 | 84 |
| 85 if (gc->disconnect_timeout) | |
| 86 g_source_remove(gc->disconnect_timeout); | |
| 87 | |
| 85 g_free(gc); | 88 g_free(gc); |
| 86 } | 89 } |
| 87 | 90 |
| 88 static void request_pass_ok_cb(GaimAccount *account, const char *entry) | 91 static void request_pass_ok_cb(GaimAccount *account, const char *entry) |
| 89 { | 92 { |
| 399 gchar *primary, *secondary; | 402 gchar *primary, *secondary; |
| 400 | 403 |
| 401 g_return_if_fail(gc != NULL); | 404 g_return_if_fail(gc != NULL); |
| 402 g_return_if_fail(text != NULL); | 405 g_return_if_fail(text != NULL); |
| 403 | 406 |
| 407 /* If we've already got one error, we don't need any more */ | |
| 408 if(gc->disconnect_timeout) | |
| 409 return; | |
| 410 | |
| 404 primary = g_strdup_printf(_("%s has been disconnected"), | 411 primary = g_strdup_printf(_("%s has been disconnected"), |
| 405 gaim_account_get_username(gaim_connection_get_account(gc))); | 412 gaim_account_get_username(gaim_connection_get_account(gc))); |
| 406 secondary = g_strdup_printf("%s\n%s", full_date(), | 413 secondary = g_strdup_printf("%s\n%s", full_date(), |
| 407 text ? text : _("Reason Unknown.")); | 414 text ? text : _("Reason Unknown.")); |
| 408 gaim_notify_error(NULL, _("Connection Error"), primary, secondary); | 415 gaim_notify_error(NULL, _("Connection Error"), primary, secondary); |
| 412 ops = gaim_get_connection_ui_ops(); | 419 ops = gaim_get_connection_ui_ops(); |
| 413 | 420 |
| 414 if (ops != NULL && ops->disconnected != NULL) | 421 if (ops != NULL && ops->disconnected != NULL) |
| 415 ops->disconnected(gc, text); | 422 ops->disconnected(gc, text); |
| 416 | 423 |
| 417 g_timeout_add(0, gaim_connection_disconnect_cb, | 424 gc->disconnect_timeout = g_timeout_add(0, gaim_connection_disconnect_cb, |
| 418 gaim_connection_get_account(gc)); | 425 gaim_connection_get_account(gc)); |
| 419 } | 426 } |
| 420 | 427 |
| 421 void | 428 void |
| 422 gaim_connections_disconnect_all(void) | 429 gaim_connections_disconnect_all(void) |
