1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-10 20:42:21 +02:00

Fixed VS settings updating issue

This commit is contained in:
Brian Fiete 2020-04-25 06:53:05 -07:00
parent 5934e27976
commit 1bd94d7a52

View file

@ -39,20 +39,36 @@ namespace IDE
{
sd.GetString("Bin32Path", mBin32Path);
sd.GetString("Bin64Path", mBin64Path);
ClearAndDeleteItems(mLib32Paths);
for (sd.Enumerate("Lib32Paths"))
void ReadPaths(String pathName, List<String> paths)
{
var str = new String();
sd.GetCurString(str);
mLib32Paths.Add(str);
}
ClearAndDeleteItems(mLib64Paths);
for (sd.Enumerate("Lib64Paths"))
{
var str = new String();
sd.GetCurString(str);
mLib64Paths.Add(str);
HashSet<String> newPaths = scope .();
List<String> prevPaths = scope .();
for (var str in paths)
prevPaths.Add(str);
paths.Clear();
for (sd.Enumerate(pathName))
{
var str = new String();
sd.GetCurString(str);
if (newPaths.Add(str))
paths.Add(str);
else
delete str;
}
for (var path in prevPaths)
{
if (!newPaths.Contains(path))
paths.Add(path);
else
delete path;
}
}
ReadPaths("Lib32Paths", mLib32Paths);
ReadPaths("Lib64Paths", mLib64Paths);
}
[CLink, StdCall]
@ -68,6 +84,9 @@ namespace IDE
#if BF_PLATFORM_WINDOWS
StringView vsInfo = .(VSSupport_Find());
ClearAndDeleteItems(mLib32Paths);
ClearAndDeleteItems(mLib64Paths);
for (var infoStr in vsInfo.Split('\n'))
{
if (infoStr.IsEmpty)