@@ -840,7 +840,7 @@ void browserDispose(Event event) {
840
840
if (inCallback > 0 ) {
841
841
ICoreWebView2Controller controller1 = controller ;
842
842
controller .put_IsVisible (false );
843
- browser . getDisplay (). asyncExec (() -> {
843
+ asyncExec (() -> {
844
844
controller1 .Close ();
845
845
controller1 .Release ();
846
846
});
@@ -1004,7 +1004,7 @@ private String getExposedUrl(String url) {
1004
1004
}
1005
1005
1006
1006
int handleCloseRequested (long pView , long pArgs ) {
1007
- browser . getDisplay (). asyncExec (() -> {
1007
+ asyncExec (() -> {
1008
1008
if (browser .isDisposed ()) return ;
1009
1009
WindowEvent event = new WindowEvent (browser );
1010
1010
event .display = browser .getDisplay ();
@@ -1022,7 +1022,7 @@ int handleDocumentTitleChanged(long pView, long pArgs) {
1022
1022
long [] ppsz = new long [1 ];
1023
1023
webViewProvider .getWebView (false ).get_DocumentTitle (ppsz );
1024
1024
String title = wstrToString (ppsz [0 ], true );
1025
- browser . getDisplay (). asyncExec (() -> {
1025
+ asyncExec (() -> {
1026
1026
if (browser .isDisposed ()) return ;
1027
1027
TitleEvent event = new TitleEvent (browser );
1028
1028
event .display = browser .getDisplay ();
@@ -1152,7 +1152,7 @@ int handleSourceChanged(long pView, long pArgs) {
1152
1152
} else {
1153
1153
location = url ;
1154
1154
}
1155
- browser . getDisplay (). asyncExec (() -> {
1155
+ asyncExec (() -> {
1156
1156
if (browser .isDisposed ()) return ;
1157
1157
LocationEvent event = new LocationEvent (browser );
1158
1158
event .display = browser .getDisplay ();
@@ -1169,7 +1169,7 @@ int handleSourceChanged(long pView, long pArgs) {
1169
1169
}
1170
1170
1171
1171
void sendProgressCompleted () {
1172
- browser . getDisplay (). asyncExec (() -> {
1172
+ asyncExec (() -> {
1173
1173
if (browser .isDisposed ()) return ;
1174
1174
ProgressEvent event = new ProgressEvent (browser );
1175
1175
event .display = browser .getDisplay ();
@@ -1326,7 +1326,7 @@ int handleNavigationCompleted(long pView, long pArgs, boolean top) {
1326
1326
int [] pIsSuccess = new int [1 ];
1327
1327
args .get_IsSuccess (pIsSuccess );
1328
1328
if (pIsSuccess [0 ] != 0 ) {
1329
- browser . getDisplay (). asyncExec (() -> {
1329
+ asyncExec (() -> {
1330
1330
if (browser .isDisposed ()) return ;
1331
1331
LocationEvent event = new LocationEvent (browser );
1332
1332
event .display = browser .getDisplay ();
@@ -1426,12 +1426,17 @@ int handleNewWindowRequested(long pView, long pArgs) {
1426
1426
if (inEvaluate ) {
1427
1427
openWindowHandler .run ();
1428
1428
} else {
1429
- browser . getDisplay (). asyncExec (openWindowHandler );
1429
+ asyncExec (openWindowHandler );
1430
1430
}
1431
1431
1432
1432
return COM .S_OK ;
1433
1433
}
1434
1434
1435
+ private void asyncExec (Runnable r ) {
1436
+ if (browser .isDisposed ()) return ;
1437
+ browser .getDisplay ().asyncExec (r );
1438
+ }
1439
+
1435
1440
int handleGotFocus (long pView , long pArg ) {
1436
1441
if (ignoreGotFocus ) {
1437
1442
ignoreGotFocus = false ;
0 commit comments