diff options
Diffstat (limited to 'protocols/Yahoo/src/proto.cpp')
| -rw-r--r-- | protocols/Yahoo/src/proto.cpp | 39 | 
1 files changed, 21 insertions, 18 deletions
diff --git a/protocols/Yahoo/src/proto.cpp b/protocols/Yahoo/src/proto.cpp index 3b0f6e7494..2d635246bf 100644 --- a/protocols/Yahoo/src/proto.cpp +++ b/protocols/Yahoo/src/proto.cpp @@ -767,36 +767,39 @@ INT_PTR CALLBACK first_run_dialog(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM  	case WM_NOTIFY:
  		if (((LPNMHDR)lParam)->code == (UINT)PSN_APPLY) {
  			char str[128];
 -			BOOL reconnectRequired = FALSE;
 +			bool reconnectRequired = false;
  			GetDlgItemTextA(hwndDlg, IDC_HANDLE, str, sizeof(str));
 -
 -			dbv.pszVal = NULL;
 -
 -			if (ppro->getString(YAHOO_LOGINID, &dbv) || lstrcmpA(str, dbv.pszVal))
 -				reconnectRequired = TRUE;
 -
 -			if (dbv.pszVal != NULL)
 +			
 +			if (ppro->getString(YAHOO_LOGINID, &dbv)) {
 +				reconnectRequired = true;
 +			}
 +			else {
 +				if(lstrcmpA(str, dbv.pszVal))
 +					reconnectRequired = true;
  				db_free(&dbv);
 +			}
  			ppro->setString(YAHOO_LOGINID, str);
  			GetDlgItemTextA(hwndDlg, IDC_PASSWORD, str, sizeof(str));
 -			dbv.pszVal = NULL;
 -			if (ppro->getString(YAHOO_PASSWORD, &dbv) || lstrcmpA(str, dbv.pszVal))
 -				reconnectRequired = TRUE;
 -			if (dbv.pszVal != NULL)
 +			if (ppro->getString(YAHOO_PASSWORD, &dbv)) {
 +				reconnectRequired = true;
 +			}
 +			else {
 +				if(lstrcmpA(str, dbv.pszVal))
 +					reconnectRequired = true;
  				db_free(&dbv);
 -
 -			if (reconnectRequired)
 -				ppro->delSetting(YAHOO_PWTOKEN);
 +			}
  			ppro->setString(YAHOO_PASSWORD, str);
  			ppro->setByte("YahooJapan", (BYTE)IsDlgButtonChecked(hwndDlg, IDC_YAHOO_JAPAN));
 -			if (reconnectRequired && ppro->m_bLoggedIn)
 -				MessageBoxA(hwndDlg, Translate("The changes you have made require you to reconnect to the Yahoo network before they take effect"), Translate("YAHOO Options"), MB_OK);
 -
 +			if (reconnectRequired) {
 +				ppro->delSetting(YAHOO_PWTOKEN);
 +				if (ppro->m_bLoggedIn)
 +					MessageBox(hwndDlg, TranslateT("The changes you have made require you to reconnect to the Yahoo network before they take effect"), TranslateT("YAHOO Options"), MB_OK);
 +			}
  			return TRUE;
  		}
  		break;
  | 
