| 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)) |