From: Alan N. <ala...@us...> - 2008-05-30 15:28:55
|
Update of /cvsroot/vapor/vapor/apps/vaporgui/main In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv7764/apps/vaporgui/main Modified Files: messagereporter.cpp session.cpp Log Message: Put both log and autosave files into /tmp (or $TEMP on windows). Improved error messages that result when files cannot be written. Index: messagereporter.cpp =================================================================== RCS file: /cvsroot/vapor/vapor/apps/vaporgui/main/messagereporter.cpp,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** messagereporter.cpp 23 May 2008 16:46:33 -0000 1.12 --- messagereporter.cpp 30 May 2008 15:28:59 -0000 1.13 *************** *** 50,56 **** messageMutex = new QMutex(); - - - reset(Session::getInstance()->getLogfileName().c_str()); setDefaultPrefs(); --- 50,53 ---- *************** *** 91,94 **** --- 88,92 ---- std::string s("VAPoR session log file cannot be opened:\n"); s += newLogFileName; + s += "\n Choose another log file from user preferences"; doPopup(Error,s.c_str()); return; Index: session.cpp =================================================================== RCS file: /cvsroot/vapor/vapor/apps/vaporgui/main/session.cpp,v retrieving revision 1.69 retrieving revision 1.70 diff -C2 -d -r1.69 -r1.70 *** session.cpp 27 May 2008 21:23:29 -0000 1.69 --- session.cpp 30 May 2008 15:28:59 -0000 1.70 *************** *** 201,222 **** textureSizeSpecified = false; textureSize = 0; ! //Set up default path for log file: ! char buf[50]; #ifdef WIN32 //Use the user name in the log file name char buf2[50]; ! //WCHAR buf2[50]; DWORD size = 50; //Don't Use QT to convert from unicode back to ascii //WNetGetUserA(0,(LPWSTR)buf2,&size); WNetGetUserA(0,(LPSTR)buf2,&size); ! sprintf(buf, "C:/TEMP/vaporlog.%s.txt", buf2); ! //QString qstr((QChar*)buf2, size); ! //sprintf (buf, "C:/TEMP/vaporlog.%s.txt", qstr.latin1()); #else uid_t uid = getuid(); sprintf (buf, "/tmp/vaporlog.%6.6d.txt", uid); #endif ! currentLogfileName = buf; char* defaultDir = getenv("HOME"); if (!defaultDir) defaultDir = "."; --- 201,236 ---- textureSizeSpecified = false; textureSize = 0; ! //Set up default paths for log file and autosave file ! ! string str; ! string str1; ! string formerLogfileName = currentLogfileName; #ifdef WIN32 //Use the user name in the log file name + char* tempDir = getenv("TEMP"); + if (!tempDir) tempDir = "C:\\TEMP"; char buf2[50]; ! DWORD size = 50; //Don't Use QT to convert from unicode back to ascii //WNetGetUserA(0,(LPWSTR)buf2,&size); WNetGetUserA(0,(LPSTR)buf2,&size); ! str1 = string(tempDir)+"\\VaporAutosave."+string(buf2)+".vss"; ! str = string(tempDir)+"\\vaporlog."+string(buf2)+".txt"; ! #else + char buf[50]; + char buf1[50]; uid_t uid = getuid(); + sprintf (buf, "/tmp/vaporlog.%6.6d.txt", uid); + sprintf (buf1, "/tmp/VaporAutosave.%6.6d.vss", uid); + str = buf; + str1 = buf1; #endif ! currentLogfileName = str; ! if (currentLogfileName != formerLogfileName) ! MessageReporter::getInstance()->reset(currentLogfileName.c_str()); ! autoSaveSessionFilename = str1; char* defaultDir = getenv("HOME"); if (!defaultDir) defaultDir = "."; *************** *** 226,230 **** preferenceSessionDirectory = defaultDir; preferenceTFPath = defaultDir; - autoSaveSessionFilename = "AutosavedSession.vss"; autoSaveInterval = 10; } --- 240,243 ---- *************** *** 889,898 **** fileout.open(getAutoSaveSessionFilename().c_str()); if (! fileout) { ! MessageReporter::errorMsg( "Unable to auto-save session to file: \n %s", autoSaveSessionFilename.c_str()); return; } if (!saveToFile(fileout)){//Report error if can't save to file ! MessageReporter::errorMsg("Failed to auto-save session to:\n %s", autoSaveSessionFilename.c_str()); fileout.close(); return; --- 902,913 ---- fileout.open(getAutoSaveSessionFilename().c_str()); if (! fileout) { ! MessageReporter::errorMsg( "Unable to auto-save session to file: \n %s\n %s", autoSaveSessionFilename.c_str(), ! "Choose another autosave location from user preferences"); return; } if (!saveToFile(fileout)){//Report error if can't save to file ! MessageReporter::errorMsg("Failed to auto-save session to:\n %s\n%s", autoSaveSessionFilename.c_str(), ! "Choose another autosave location from user preferences"); fileout.close(); return; |