Skip to content

Commit 2720f5b

Browse files
committed
Removed threading on FileDialog
1 parent 79bdfba commit 2720f5b

1 file changed

Lines changed: 22 additions & 21 deletions

File tree

Source/MDK-Debug/FileDialog.cs

Lines changed: 22 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@ public static async Task<string> RequestFileName(string title, string filter, st
1111
{
1212
MyLog.Default.WriteLine($"Synchronization Context, before thread: {SynchronizationContext.Current != null}");
1313
MyLog.Default.Flush();
14-
var tcs = new TaskCompletionSource<string>();
15-
var thread = new Thread(() =>
16-
{
14+
//var tcs = new TaskCompletionSource<string>();
15+
//var thread = new Thread(() =>
16+
//{
1717
var dialog = new OpenFileDialog
1818
{
1919
Title = title,
@@ -25,24 +25,25 @@ public static async Task<string> RequestFileName(string title, string filter, st
2525
AutoUpgradeEnabled = true
2626
};
2727

28-
MyLog.Default.WriteLine($"Synchronization Context, before dialog: {SynchronizationContext.Current != null}");
29-
MyLog.Default.Flush();
30-
var response = dialog.ShowDialog(Plugin.Current) == DialogResult.OK ? dialog.FileName : null;
31-
MyLog.Default.WriteLine($"Synchronization Context, after dialog: {SynchronizationContext.Current != null}");
32-
MyLog.Default.Flush();
33-
tcs.SetResult(response);
34-
});
35-
thread.SetApartmentState(ApartmentState.STA);
36-
thread.Start();
37-
MyLog.Default.WriteLine($"Before await {Thread.CurrentThread.ManagedThreadId}");
38-
MyLog.Default.Flush();
39-
var result = await tcs.Task.ConfigureAwait(false);
40-
MyLog.Default.WriteLine($"After await {Thread.CurrentThread.ManagedThreadId}");
41-
MyLog.Default.Flush();
42-
await Plugin.SwitchToMainThread().ConfigureAwait(false);
43-
MyLog.Default.WriteLine($"After thread switch {Thread.CurrentThread.ManagedThreadId}");
44-
MyLog.Default.Flush();
45-
return result;
28+
//MyLog.Default.WriteLine($"Synchronization Context, before dialog: {SynchronizationContext.Current != null}");
29+
//MyLog.Default.Flush();
30+
//var response = dialog.ShowDialog(Plugin.Current) == DialogResult.OK ? dialog.FileName : null;
31+
return dialog.ShowDialog(Plugin.Current) == DialogResult.OK ? dialog.FileName : null;
32+
//MyLog.Default.WriteLine($"Synchronization Context, after dialog: {SynchronizationContext.Current != null}");
33+
//MyLog.Default.Flush();
34+
//tcs.SetResult(response);
35+
//});
36+
//thread.SetApartmentState(ApartmentState.STA);
37+
//thread.Start();
38+
//MyLog.Default.WriteLine($"Before await {Thread.CurrentThread.ManagedThreadId}");
39+
//MyLog.Default.Flush();
40+
//var result = await tcs.Task.ConfigureAwait(false);
41+
//MyLog.Default.WriteLine($"After await {Thread.CurrentThread.ManagedThreadId}");
42+
//MyLog.Default.Flush();
43+
//await Plugin.SwitchToMainThread().ConfigureAwait(false);
44+
//MyLog.Default.WriteLine($"After thread switch {Thread.CurrentThread.ManagedThreadId}");
45+
//MyLog.Default.Flush();
46+
//return result;
4647
}
4748
}
4849
}

0 commit comments

Comments
 (0)