Fix timing issues on FileNode_Refresh.
This commit is contained in:
@@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user