mirror of
https://github.com/RetroShare/RetroShare.git
synced 2024-10-01 02:35:48 -04:00
added lockfile path info to the multiple-instances warning window in rs-
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4098 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
parent
49aad683b1
commit
2dd6581f14
@ -118,7 +118,7 @@ class RsInit
|
||||
* This wrapper is used to lock the profile first before
|
||||
* finalising the login
|
||||
*/
|
||||
static int LockAndLoadCertificates(bool autoLoginNT);
|
||||
static int LockAndLoadCertificates(bool autoLoginNT, std::string& lockFilePath);
|
||||
|
||||
|
||||
/*!
|
||||
@ -155,7 +155,7 @@ class RsInit
|
||||
static bool RsTryAutoLogin() ;
|
||||
|
||||
/* Lock/unlock profile directory */
|
||||
static int LockConfigDirectory(const std::string& accountDir);
|
||||
static int LockConfigDirectory(const std::string& accountDir, std::string& lockFilePath);
|
||||
static void UnlockConfigDirectory();
|
||||
|
||||
/* The true LoadCertificates() method */
|
||||
|
@ -1053,10 +1053,11 @@ int RsInit::GetPGPLoginDetails(std::string id, std::string &name, std::stri
|
||||
* 1 : Another instance already has the lock
|
||||
* 2 : Unexpected error
|
||||
*/
|
||||
int RsInit::LockConfigDirectory(const std::string& accountDir)
|
||||
int RsInit::LockConfigDirectory(const std::string& accountDir, std::string& lockFilePath)
|
||||
{
|
||||
const std::string lockFile = accountDir + RsInitConfig::dirSeperator + "lock";
|
||||
|
||||
lockFilePath = lockFile;
|
||||
/******************************** WINDOWS/UNIX SPECIFIC PART ******************/
|
||||
#ifndef WINDOWS_SYS
|
||||
if(RsInitConfig::lockHandle != -1)
|
||||
@ -1418,9 +1419,9 @@ bool RsInit::LoadPassword(std::string id, std::string inPwd)
|
||||
* 2 : unexpected error while locking
|
||||
* 3 : unexpected error while loading certificates
|
||||
*/
|
||||
int RsInit::LockAndLoadCertificates(bool autoLoginNT)
|
||||
int RsInit::LockAndLoadCertificates(bool autoLoginNT, std::string& lockFilePath)
|
||||
{
|
||||
int retVal = LockConfigDirectory(RsInitConfig::configDir);
|
||||
int retVal = LockConfigDirectory(RsInitConfig::configDir, lockFilePath);
|
||||
if(retVal != 0)
|
||||
return retVal;
|
||||
|
||||
|
@ -322,7 +322,8 @@ void GenCertDialog::checkChanged(int i)
|
||||
|
||||
void GenCertDialog::loadCertificates()
|
||||
{
|
||||
int retVal = RsInit::LockAndLoadCertificates(false);
|
||||
std::string lockFile;
|
||||
int retVal = RsInit::LockAndLoadCertificates(false, lockFile);
|
||||
switch(retVal)
|
||||
{
|
||||
case 0: close();
|
||||
|
@ -152,7 +152,8 @@ void StartDialog::loadPerson()
|
||||
void StartDialog::loadCertificates()
|
||||
{
|
||||
/* Final stage of loading */
|
||||
int retVal = RsInit::LockAndLoadCertificates(ui.autologin_checkbox->isChecked());
|
||||
std::string lockFile;
|
||||
int retVal = RsInit::LockAndLoadCertificates(ui.autologin_checkbox->isChecked(), lockFile);
|
||||
switch(retVal)
|
||||
{
|
||||
case 0: close();
|
||||
@ -161,12 +162,14 @@ void StartDialog::loadCertificates()
|
||||
tr("Multiple instances"),
|
||||
tr("Another RetroShare using the same profile is "
|
||||
"already running on your system. Please close "
|
||||
"that instance first, or choose another profile") );
|
||||
"that instance first, or choose another profile\n"
|
||||
"lock file:\n ")+ QString::fromStdString(lockFile));
|
||||
break;
|
||||
case 2: QMessageBox::warning( this,
|
||||
tr("Multiple instances"),
|
||||
tr("An unexpected error occurred when Retroshare"
|
||||
"tried to acquire the single instance lock") );
|
||||
"tried to acquire the single instance lock\n"
|
||||
"lock file:\n ")+ QString::fromStdString(lockFile));
|
||||
break;
|
||||
case 3: QMessageBox::warning( this,
|
||||
tr("Login Failure"),
|
||||
|
@ -166,20 +166,23 @@ int main(int argc, char *argv[])
|
||||
}
|
||||
|
||||
// true: note auto-login is active
|
||||
int retVal = RsInit::LockAndLoadCertificates(true);
|
||||
std::string lockFile;
|
||||
int retVal = RsInit::LockAndLoadCertificates(true, lockFile);
|
||||
switch(retVal)
|
||||
{
|
||||
case 0: break;
|
||||
case 1: QMessageBox::warning( 0,
|
||||
QObject::tr("Multiple instances"),
|
||||
QObject::tr("Another RetroShare using the same profile is "
|
||||
"already running on your system. Please close "
|
||||
"that instance first") );
|
||||
"already running on your system. Please close "
|
||||
"that instance first\n Lock file:\n") +
|
||||
QString::fromStdString(lockFile));
|
||||
return 1;
|
||||
case 2: QMessageBox::critical( 0,
|
||||
QObject::tr("Multiple instances"),
|
||||
QObject::tr("An unexpected error occurred when Retroshare"
|
||||
"tried to acquire the single instance lock") );
|
||||
"tried to acquire the single instance lock\n Lock file:\n") +
|
||||
QString::fromStdString(lockFile));
|
||||
return 1;
|
||||
case 3: QMessageBox::critical( 0,
|
||||
QObject::tr("Login Failure"),
|
||||
|
Loading…
Reference in New Issue
Block a user