libpurple/protocols.c

changeset 40680
f9ea6d5e8992
parent 40634
4d3018b00ad4
child 40708
53a26c29d26c
equal deleted inserted replaced
40679:062a4574af3e 40680:f9ea6d5e8992
28 #include "debug.h" 28 #include "debug.h"
29 #include "network.h" 29 #include "network.h"
30 #include "notify.h" 30 #include "notify.h"
31 #include "protocol.h" 31 #include "protocol.h"
32 #include "purpleaccountoption.h" 32 #include "purpleaccountoption.h"
33 #include "purplecredentialmanager.h"
33 #include "purpleprotocolattention.h" 34 #include "purpleprotocolattention.h"
34 #include "purpleprotocolmedia.h" 35 #include "purpleprotocolmedia.h"
35 #include "request.h" 36 #include "request.h"
36 #include "util.h" 37 #include "util.h"
37 38
283 if (!purple_status_is_online(new_status)) 284 if (!purple_status_is_online(new_status))
284 { 285 {
285 if (!purple_account_is_disconnected(account)) 286 if (!purple_account_is_disconnected(account))
286 purple_account_disconnect(account); 287 purple_account_disconnect(account);
287 /* Clear out the unsaved password if we switch to offline status */ 288 /* Clear out the unsaved password if we switch to offline status */
288 if (!purple_account_get_remember_password(account)) 289 if (!purple_account_get_remember_password(account)) {
289 purple_account_set_password(account, NULL, NULL, NULL); 290 PurpleCredentialManager *manager = NULL;
291
292 manager = purple_credential_manager_get_default();
293
294 purple_credential_manager_clear_password_async(manager, account,
295 NULL, NULL, NULL);
296 }
290 297
291 return; 298 return;
292 } 299 }
293 300
294 if (purple_account_is_connecting(account)) 301 if (purple_account_is_connecting(account))

mercurial