mirror of
https://github.com/osukey/osukey.git
synced 2025-08-07 00:23:59 +09:00
Merge pull request #6010 from peppy/fix-config-disposal
Dispose config managers ahead of time to avoid database errors
This commit is contained in:
@ -207,6 +207,7 @@ namespace osu.Game
|
|||||||
FileStore.Cleanup();
|
FileStore.Cleanup();
|
||||||
|
|
||||||
AddInternal(API);
|
AddInternal(API);
|
||||||
|
AddInternal(RulesetConfigCache);
|
||||||
|
|
||||||
GlobalActionContainer globalBinding;
|
GlobalActionContainer globalBinding;
|
||||||
|
|
||||||
|
@ -36,5 +36,14 @@ namespace osu.Game.Rulesets
|
|||||||
|
|
||||||
return configCache.GetOrAdd(ruleset.RulesetInfo.ID.Value, _ => ruleset.CreateConfig(settingsStore));
|
return configCache.GetOrAdd(ruleset.RulesetInfo.ID.Value, _ => ruleset.CreateConfig(settingsStore));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected override void Dispose(bool isDisposing)
|
||||||
|
{
|
||||||
|
base.Dispose(isDisposing);
|
||||||
|
|
||||||
|
// ensures any potential database operations are finalised before game destruction.
|
||||||
|
foreach (var c in configCache.Values)
|
||||||
|
(c as IDisposable)?.Dispose();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user