Fix of previous commit

This commit is contained in:
Jan Kaluza 2011-08-23 15:48:55 +02:00
parent 8db20bcae0
commit 9eab007d5b
2 changed files with 17 additions and 3 deletions

View file

@ -848,16 +848,29 @@ static PurpleConversationUiOps conversation_ui_ops =
NULL
};
struct Dis {
std::string name;
std::string protocol;
};
static gboolean disconnectMe(void *data) {
PurpleAccount *account = (PurpleAccount *) data;
np->handleLogoutRequest(np->m_accounts[account], purple_account_get_username(account));
Dis *d = (Dis *) data;
PurpleAccount *account = purple_accounts_find(d->name.c_str(), d->protocol.c_str());
delete d;
if (account) {
np->handleLogoutRequest(np->m_accounts[account], purple_account_get_username(account));
}
return FALSE;
}
static void connection_report_disconnect(PurpleConnection *gc, PurpleConnectionError reason, const char *text){
PurpleAccount *account = purple_connection_get_account(gc);
np->handleDisconnected(np->m_accounts[account], (int) reason, text ? text : "");
purple_timeout_add(1, disconnectMe, account);
Dis *d = new Dis;
d->name = purple_account_get_username(account);
d->protocol = purple_account_get_protocol_id(account);
purple_timeout_add_seconds(10, disconnectMe, d);
}
static PurpleConnectionUiOps conn_ui_ops =

View file

@ -17,6 +17,7 @@ backend=../../backends/libpurple/spectrum_libpurple_backend
#protocol=prpl-msn
protocol=any
#protocol=prpl-icq
idle_reconnect_time=10
[backend]
#default_avatar=catmelonhead.jpg