1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-15 05:42:56 +08:00

Merge remote-tracking branch 'upstream/master' into update-framework

This commit is contained in:
Dean Herbert 2018-09-26 19:59:18 +09:00
commit a4bf21268b
2 changed files with 6 additions and 4 deletions

View File

@ -282,17 +282,19 @@ namespace osu.Game.Database
/// Is a no-op for already deleted items. /// Is a no-op for already deleted items.
/// </summary> /// </summary>
/// <param name="item">The item to delete.</param> /// <param name="item">The item to delete.</param>
public void Delete(TModel item) /// <returns>false if no operation was performed</returns>
public bool Delete(TModel item)
{ {
using (ContextFactory.GetForWrite()) using (ContextFactory.GetForWrite())
{ {
// re-fetch the model on the import context. // re-fetch the model on the import context.
var foundModel = queryModel().Include(s => s.Files).ThenInclude(f => f.FileInfo).First(s => s.ID == item.ID); var foundModel = queryModel().Include(s => s.Files).ThenInclude(f => f.FileInfo).FirstOrDefault(s => s.ID == item.ID);
if (foundModel.DeletePending) return; if (foundModel == null || foundModel.DeletePending) return false;
if (ModelStore.Delete(foundModel)) if (ModelStore.Delete(foundModel))
Files.Dereference(foundModel.Files.Select(f => f.FileInfo).ToArray()); Files.Dereference(foundModel.Files.Select(f => f.FileInfo).ToArray());
return true;
} }
} }

View File

@ -536,7 +536,7 @@ namespace osu.Game.Screens.Select
private void delete(BeatmapSetInfo beatmap) private void delete(BeatmapSetInfo beatmap)
{ {
if (beatmap == null) return; if (beatmap == null || beatmap.ID <= 0) return;
dialogOverlay?.Push(new BeatmapDeleteDialog(beatmap)); dialogOverlay?.Push(new BeatmapDeleteDialog(beatmap));
} }