diff --git a/src/BizHawk.Client.DiscoHawk/MainDiscoForm.cs b/src/BizHawk.Client.DiscoHawk/MainDiscoForm.cs index 9f0c671894..f17b2a71bb 100644 --- a/src/BizHawk.Client.DiscoHawk/MainDiscoForm.cs +++ b/src/BizHawk.Client.DiscoHawk/MainDiscoForm.cs @@ -35,26 +35,28 @@ namespace BizHawk.Client.DiscoHawk private void lblMagicDragArea_DragDrop(object sender, DragEventArgs e) { - List files = ValidateDrop(e.Data); - if (files.Count == 0) return; + lblMagicDragArea.AllowDrop = false; + Cursor = Cursors.WaitCursor; try { - Cursor = Cursors.WaitCursor; - foreach (var file in files) + foreach (var file in ValidateDrop(e.Data)) { var success = DiscoHawkLogic.HawkAndWriteFile( inputPath: file, errorCallback: err => MessageBox.Show(err, "Error loading disc")); if (!success) break; } - - Cursor = Cursors.Default; } catch (Exception ex) { MessageBox.Show(ex.ToString(), "Error loading disc"); throw; } + finally + { + lblMagicDragArea.AllowDrop = true; + Cursor = Cursors.Default; + } } #if false // API has changed