Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix modified_time on Android #103080

Merged
merged 1 commit into from
Feb 20, 2025
Merged

Conversation

Alex2782
Copy link
Member

@Alex2782 Alex2782 commented Feb 20, 2025

Fixes: #101007 (Workaround)

Issue Description:
After saving, all timestamps (st_mtime, st_ctime, st_atime) are set to the same value.
After exporting or after some time, only modified_time resets to a past timestamp.

Cache files are created during export and rely on modified_time.

Workaround:
Use created_time if modified_time is in the past.


#101007 (comment)
I initially suspected thirdparty/minizip/unzip.c because the timestamps were only reset after unz* functions. However, this behavior also occurs when no export is performed, once even when the Godot Editor was not running (terminated).

Test
screen-recording-20250220-161402_t6S8GUBK.mp4
timestamp check after export

After saving the time was still 16:xx and after export it was reset to 15:xx.

timestamp_bug

@Alex2782
Copy link
Member Author

@syntaxerror247 Does this workaround also work on your device?


Notice:

My first pull request wasn't accepted, there were these check warnings for Android. All other operating systems were not affected.

Error: drivers/unix/file_access_unix.cpp:348:21: error: 
comparison of integers of different signs: 'uint64_t' (aka 'unsigned long') and 
'__kernel_old_time_t' (aka 'long') [-Werror,-Wsign-compare]
                if (modified_time < status.st_ctime) {
                    ~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~
1 error generated.
scons: *** [drivers/unix/file_access_unix.android.editor.arm64.o] Error 1

Copy link
Member

@syntaxerror247 syntaxerror247 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Works as expected.

@AThousandShips AThousandShips added this to the 4.4 milestone Feb 20, 2025
@akien-mga akien-mga merged commit 5c0b0e9 into godotengine:master Feb 20, 2025
20 checks passed
@akien-mga
Copy link
Member

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Android export from android will not update main scene layout unless .godot/exported/... is deleted
5 participants