[commit] r1877 - trunk/GME/Core

GMESRC Repository Notifications gme-commit at list.isis.vanderbilt.edu
Thu Mar 22 15:51:29 CDT 2012


Author: ksmyth
Date: Thu Mar 22 15:51:29 2012
New Revision: 1877

Log:
Fix CreateProject: previous file wont exist, so dont attempt to coy it

Modified:
   trunk/GME/Core/CoreBinFile.cpp

Modified: trunk/GME/Core/CoreBinFile.cpp
==============================================================================
--- trunk/GME/Core/CoreBinFile.cpp	Thu Mar 22 15:23:31 2012	(r1876)
+++ trunk/GME/Core/CoreBinFile.cpp	Thu Mar 22 15:51:29 2012	(r1877)
@@ -982,19 +982,20 @@
 	ASSERT( !ofs.is_open() );
 	ASSERT( metaprojectid.size() == 16 );
 
-	BOOL cancel = FALSE;
 
 	std::string filenameout = filename;
 	// origfname == filename => file_buffer has filename locked FILE_SHARE_READ
 	// CopyFile because:
 	// SetEndOfFileInformationFile
 	// Preserves extended attributes, NTFS alternate streams, file attributes (and newer Windows: security attributes)
-	if (origfname == filename)
+	if (origfname == filename && GetFileAttributesA(origfname.c_str()) != INVALID_FILE_ATTRIBUTES)
 	{
 		filenameout += "tmp";
+		BOOL cancel = FALSE;
 		BOOL succ = CopyFileExA(origfname.c_str(), filenameout.c_str(), &prog, NULL, &cancel, 0);
 		if (!succ && GetLastError() != ERROR_REQUEST_ABORTED)
 			HR_THROW(HRESULT_FROM_WIN32(GetLastError()));
+
 	}
 	// TODO:
 	// GetNamedSecurityInfo(source, GROUP_SECURITY_INFORMATION | DACL_SECURITY_INFORMATION)
@@ -1044,7 +1045,6 @@
 		BOOL succ = MoveFileExA(filenameout.c_str(), filename.c_str(), MOVEFILE_REPLACE_EXISTING);
 		if (!succ)
 		{
-			//CloseProject(VARIANT_TRUE);
 			HR_THROW(HRESULT_FROM_WIN32(GetLastError()));
 		}
 	}


More information about the gme-commit mailing list