Fix timing issues on FileNode_Refresh.

This commit is contained in:
2017-07-09 10:24:42 +02:00
parent 3cd245c54c
commit 74b4b9c8c6

View File

@@ -506,14 +506,10 @@ FileNode FileNode_Refresh(FileNode fileNode, char *filePath) {
fileNode->flags &= ~FileFlag_Normal; fileNode->flags &= ~FileFlag_Normal;
} }
fileTime = FileTime_Get(filePath); fileTime = FileTime_Get(filePath);
if (fileTime != fileNode->fileTime) { if (fileTime > fileNode->fileTime) {
fileNode->status = FileStatus_Modified; fileNode->status = FileStatus_Modified;
if (fileTime < 0 || fileNode->fileTime > fileTime) {
fileNode->fileTime = Time_GetCurrentTime();
}else{
fileNode->fileTime = fileTime; fileNode->fileTime = fileTime;
} }
}
// Mark childs for review // Mark childs for review
fileNodeChild = fileNode->child; fileNodeChild = fileNode->child;
@@ -550,14 +546,10 @@ FileNode FileNode_Refresh(FileNode fileNode, char *filePath) {
fileNode->status = FileStatus_Modified; fileNode->status = FileStatus_Modified;
fileNode->size = size; fileNode->size = size;
} }
if (fileTime != fileNode->fileTime) { if (fileTime > fileNode->fileTime) {
fileNode->status = FileStatus_Modified; fileNode->status = FileStatus_Modified;
if (fileTime < 0 || fileNode->fileTime > fileTime) {
fileNode->fileTime = Time_GetCurrentTime();
}else{
fileNode->fileTime = fileTime; fileNode->fileTime = fileTime;
} }
}
if (fileNode->status == FileStatus_Modified) { if (fileNode->status == FileStatus_Modified) {
fileNode->flags &= ~FileFlag_HasCRC; fileNode->flags &= ~FileFlag_HasCRC;
} }