summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorlat9nq <22451773+lat9nq@users.noreply.github.com>2023-05-23 18:33:34 -0400
committerlat9nq <22451773+lat9nq@users.noreply.github.com>2023-06-05 15:15:11 -0400
commit5d9dd883876a242577093e9351d1ab2653f230f8 (patch)
tree523a012fe9013f815c5a8ae81292a79a7bf6dd5b /src
parent3979c7daa478199cff7bc985fceabcf30fadbc3b (diff)
tz_content_manager: Try the system time zone first
If we can't find the normal time zone string, try searching for the closest one.
Diffstat (limited to 'src')
-rw-r--r--src/core/hle/service/time/time_zone_content_manager.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/core/hle/service/time/time_zone_content_manager.cpp b/src/core/hle/service/time/time_zone_content_manager.cpp
index 5fab7fa7b..86a5acc54 100644
--- a/src/core/hle/service/time/time_zone_content_manager.cpp
+++ b/src/core/hle/service/time/time_zone_content_manager.cpp
@@ -125,8 +125,15 @@ Result TimeZoneContentManager::GetTimeZoneInfoFile(const std::string& location_n
vfs_file = zoneinfo_dir->GetFileRelative(location_name);
if (!vfs_file) {
- LOG_ERROR(Service_Time, "{:016X} has no file \"{}\"! Using default timezone.",
- time_zone_binary_titleid, location_name);
+ LOG_WARNING(Service_Time, "{:016X} has no file \"{}\"! Using system timezone.",
+ time_zone_binary_titleid, location_name);
+ const std::string system_time_zone{Common::TimeZone::FindSystemTimeZone()};
+ vfs_file = zoneinfo_dir->GetFile(system_time_zone);
+ }
+
+ if (!vfs_file) {
+ LOG_WARNING(Service_Time, "{:016X} has no file \"{}\"! Using default timezone.",
+ time_zone_binary_titleid, location_name);
vfs_file = zoneinfo_dir->GetFile(Common::TimeZone::GetDefaultTimeZone());
}