@@ -47,18 +47,21 @@ internal static Dialog Instance
4747 public Task < string [ ] > ShowOpenDialogAsync ( BrowserWindow browserWindow , OpenDialogOptions options )
4848 {
4949 var taskCompletionSource = new TaskCompletionSource < string [ ] > ( ) ;
50+ string guid = Guid . NewGuid ( ) . ToString ( ) ;
5051
51- BridgeConnector . Socket . On ( "showOpenDialogComplete" , ( filePaths ) =>
52+ BridgeConnector . Socket . On ( "showOpenDialogComplete" + guid , ( filePaths ) =>
5253 {
53- BridgeConnector . Socket . Off ( "showOpenDialogComplete" ) ;
54+ BridgeConnector . Socket . Off ( "showOpenDialogComplete" + guid ) ;
5455
5556 var result = ( ( JArray ) filePaths ) . ToObject < string [ ] > ( ) ;
5657 taskCompletionSource . SetResult ( result ) ;
5758 } ) ;
5859
59- BridgeConnector . Socket . Emit ( "showOpenDialog" ,
60- JObject . FromObject ( browserWindow , _jsonSerializer ) ,
61- JObject . FromObject ( options , _jsonSerializer ) ) ;
60+
61+ BridgeConnector . Socket . Emit ( "showOpenDialog" ,
62+ JObject . FromObject ( browserWindow , _jsonSerializer ) ,
63+ JObject . FromObject ( options , _jsonSerializer ) ,
64+ guid ) ;
6265
6366 return taskCompletionSource . Task ;
6467 }
@@ -72,17 +75,19 @@ public Task<string[]> ShowOpenDialogAsync(BrowserWindow browserWindow, OpenDialo
7275 public Task < string > ShowSaveDialogAsync ( BrowserWindow browserWindow , SaveDialogOptions options )
7376 {
7477 var taskCompletionSource = new TaskCompletionSource < string > ( ) ;
78+ string guid = Guid . NewGuid ( ) . ToString ( ) ;
7579
76- BridgeConnector . Socket . On ( "showSaveDialogComplete" , ( filename ) =>
80+ BridgeConnector . Socket . On ( "showSaveDialogComplete" + guid , ( filename ) =>
7781 {
78- BridgeConnector . Socket . Off ( "showSaveDialogComplete" ) ;
82+ BridgeConnector . Socket . Off ( "showSaveDialogComplete" + guid ) ;
7983
8084 taskCompletionSource . SetResult ( filename . ToString ( ) ) ;
8185 } ) ;
8286
8387 BridgeConnector . Socket . Emit ( "showSaveDialog" ,
8488 JObject . FromObject ( browserWindow , _jsonSerializer ) ,
85- JObject . FromObject ( options , _jsonSerializer ) ) ;
89+ JObject . FromObject ( options , _jsonSerializer ) ,
90+ guid ) ;
8691
8792 return taskCompletionSource . Task ;
8893 }
@@ -139,10 +144,11 @@ public async Task<MessageBoxResult> ShowMessageBoxAsync(BrowserWindow browserWin
139144 public Task < MessageBoxResult > ShowMessageBoxAsync ( BrowserWindow browserWindow , MessageBoxOptions messageBoxOptions )
140145 {
141146 var taskCompletionSource = new TaskCompletionSource < MessageBoxResult > ( ) ;
147+ var guid = Guid . NewGuid ( ) . ToString ( ) ;
142148
143- BridgeConnector . Socket . On ( "showMessageBoxComplete" , ( args ) =>
149+ BridgeConnector . Socket . On ( "showMessageBoxComplete" + guid , ( args ) =>
144150 {
145- BridgeConnector . Socket . Off ( "showMessageBoxComplete" ) ;
151+ BridgeConnector . Socket . Off ( "showMessageBoxComplete" + guid ) ;
146152
147153 var result = ( ( JArray ) args ) ;
148154
@@ -156,12 +162,13 @@ public Task<MessageBoxResult> ShowMessageBoxAsync(BrowserWindow browserWindow, M
156162
157163 if ( browserWindow == null )
158164 {
159- BridgeConnector . Socket . Emit ( "showMessageBox" , JObject . FromObject ( messageBoxOptions , _jsonSerializer ) ) ;
165+ BridgeConnector . Socket . Emit ( "showMessageBox" , JObject . FromObject ( messageBoxOptions , _jsonSerializer ) , guid ) ;
160166 } else
161167 {
162168 BridgeConnector . Socket . Emit ( "showMessageBox" ,
163169 JObject . FromObject ( browserWindow , _jsonSerializer ) ,
164- JObject . FromObject ( messageBoxOptions , _jsonSerializer ) ) ;
170+ JObject . FromObject ( messageBoxOptions , _jsonSerializer ) ,
171+ guid ) ;
165172 }
166173
167174 return taskCompletionSource . Task ;
@@ -205,16 +212,18 @@ public Task ShowCertificateTrustDialogAsync(CertificateTrustDialogOptions option
205212 public Task ShowCertificateTrustDialogAsync ( BrowserWindow browserWindow , CertificateTrustDialogOptions options )
206213 {
207214 var taskCompletionSource = new TaskCompletionSource < object > ( ) ;
215+ string guid = Guid . NewGuid ( ) . ToString ( ) ;
208216
209- BridgeConnector . Socket . On ( "showCertificateTrustDialogComplete" , ( ) =>
217+ BridgeConnector . Socket . On ( "showCertificateTrustDialogComplete" + guid , ( ) =>
210218 {
211- BridgeConnector . Socket . Off ( "showCertificateTrustDialogComplete" ) ;
219+ BridgeConnector . Socket . Off ( "showCertificateTrustDialogComplete" + guid ) ;
212220 taskCompletionSource . SetResult ( null ) ;
213221 } ) ;
214222
215223 BridgeConnector . Socket . Emit ( "showCertificateTrustDialog" ,
216224 JObject . FromObject ( browserWindow , _jsonSerializer ) ,
217- JObject . FromObject ( options , _jsonSerializer ) ) ;
225+ JObject . FromObject ( options , _jsonSerializer ) ,
226+ guid ) ;
218227
219228 return taskCompletionSource . Task ;
220229 }
0 commit comments