From 903a5ad5da412e529526dd2807495b9a32ef891c Mon Sep 17 00:00:00 2001 From: KazWolfe Date: Sun, 24 Nov 2024 14:01:01 -0800 Subject: [PATCH] fix: Properly handle UTF-8 characters in ImGUI paths (#2122) - Fixes a bug where users with special characters in their filenames would not be able to save `dalamudUI.ini`. - Throw a special warning if `dalamudUI.ini` doesn't exist, as it's not an error case. --- Dalamud/Interface/Internal/InterfaceManager.cs | 9 ++++++++- lib/ImGuiScene | 2 +- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/Dalamud/Interface/Internal/InterfaceManager.cs b/Dalamud/Interface/Internal/InterfaceManager.cs index cb25bd9b5..f532b0412 100644 --- a/Dalamud/Interface/Internal/InterfaceManager.cs +++ b/Dalamud/Interface/Internal/InterfaceManager.cs @@ -604,10 +604,17 @@ internal partial class InterfaceManager : IInternalDisposableService if (iniFileInfo.Length > 1200000) { Log.Warning("dalamudUI.ini was over 1mb, deleting"); - iniFileInfo.CopyTo(Path.Combine(iniFileInfo.DirectoryName!, $"dalamudUI-{DateTimeOffset.Now.ToUnixTimeSeconds()}.ini")); + iniFileInfo.CopyTo( + Path.Combine( + iniFileInfo.DirectoryName!, + $"dalamudUI-{DateTimeOffset.Now.ToUnixTimeSeconds()}.ini")); iniFileInfo.Delete(); } } + catch (FileNotFoundException) + { + Log.Warning("dalamudUI.ini did not exist, ImGUI will create a new one."); + } catch (Exception ex) { Log.Error(ex, "Could not delete dalamudUI.ini"); diff --git a/lib/ImGuiScene b/lib/ImGuiScene index 2f37349ff..d5dfde4b3 160000 --- a/lib/ImGuiScene +++ b/lib/ImGuiScene @@ -1 +1 @@ -Subproject commit 2f37349ffd778561a1103a650683116c43edc86c +Subproject commit d5dfde4b39b032430deb46bc61084c18fb54b986