Only lock the database for the duration of a deletion

This commit is contained in:
smoogipoo 2019-10-02 18:48:50 +09:00
parent 2519fd26a9
commit dfaa9531f8

View File

@ -400,20 +400,17 @@ namespace osu.Game.Database
int i = 0; int i = 0;
using (ContextFactory.GetForWrite()) foreach (var b in items)
{ {
foreach (var b in items) if (notification.State == ProgressNotificationState.Cancelled)
{ // user requested abort
if (notification.State == ProgressNotificationState.Cancelled) return;
// user requested abort
return;
notification.Text = $"Deleting {HumanisedModelName}s ({++i} of {items.Count})"; notification.Text = $"Deleting {HumanisedModelName}s ({++i} of {items.Count})";
Delete(b); Delete(b);
notification.Progress = (float)i / items.Count; notification.Progress = (float)i / items.Count;
}
} }
notification.State = ProgressNotificationState.Completed; notification.State = ProgressNotificationState.Completed;