@@ -840,7 +840,7 @@ void browserDispose(Event event) {
840840 if (inCallback > 0 ) {
841841 ICoreWebView2Controller controller1 = controller ;
842842 controller .put_IsVisible (false );
843- browser . getDisplay (). asyncExec (() -> {
843+ asyncExec (() -> {
844844 controller1 .Close ();
845845 controller1 .Release ();
846846 });
@@ -1004,7 +1004,7 @@ private String getExposedUrl(String url) {
10041004}
10051005
10061006int handleCloseRequested (long pView , long pArgs ) {
1007- browser . getDisplay (). asyncExec (() -> {
1007+ asyncExec (() -> {
10081008 if (browser .isDisposed ()) return ;
10091009 WindowEvent event = new WindowEvent (browser );
10101010 event .display = browser .getDisplay ();
@@ -1022,7 +1022,7 @@ int handleDocumentTitleChanged(long pView, long pArgs) {
10221022 long [] ppsz = new long [1 ];
10231023 webViewProvider .getWebView (false ).get_DocumentTitle (ppsz );
10241024 String title = wstrToString (ppsz [0 ], true );
1025- browser . getDisplay (). asyncExec (() -> {
1025+ asyncExec (() -> {
10261026 if (browser .isDisposed ()) return ;
10271027 TitleEvent event = new TitleEvent (browser );
10281028 event .display = browser .getDisplay ();
@@ -1152,7 +1152,7 @@ int handleSourceChanged(long pView, long pArgs) {
11521152 } else {
11531153 location = url ;
11541154 }
1155- browser . getDisplay (). asyncExec (() -> {
1155+ asyncExec (() -> {
11561156 if (browser .isDisposed ()) return ;
11571157 LocationEvent event = new LocationEvent (browser );
11581158 event .display = browser .getDisplay ();
@@ -1169,7 +1169,7 @@ int handleSourceChanged(long pView, long pArgs) {
11691169}
11701170
11711171void sendProgressCompleted () {
1172- browser . getDisplay (). asyncExec (() -> {
1172+ asyncExec (() -> {
11731173 if (browser .isDisposed ()) return ;
11741174 ProgressEvent event = new ProgressEvent (browser );
11751175 event .display = browser .getDisplay ();
@@ -1326,7 +1326,7 @@ int handleNavigationCompleted(long pView, long pArgs, boolean top) {
13261326 int [] pIsSuccess = new int [1 ];
13271327 args .get_IsSuccess (pIsSuccess );
13281328 if (pIsSuccess [0 ] != 0 ) {
1329- browser . getDisplay (). asyncExec (() -> {
1329+ asyncExec (() -> {
13301330 if (browser .isDisposed ()) return ;
13311331 LocationEvent event = new LocationEvent (browser );
13321332 event .display = browser .getDisplay ();
@@ -1426,12 +1426,17 @@ int handleNewWindowRequested(long pView, long pArgs) {
14261426 if (inEvaluate ) {
14271427 openWindowHandler .run ();
14281428 } else {
1429- browser . getDisplay (). asyncExec (openWindowHandler );
1429+ asyncExec (openWindowHandler );
14301430 }
14311431
14321432 return COM .S_OK ;
14331433}
14341434
1435+ private void asyncExec (Runnable r ) {
1436+ if (browser .isDisposed ()) return ;
1437+ browser .getDisplay ().asyncExec (r );
1438+ }
1439+
14351440int handleGotFocus (long pView , long pArg ) {
14361441 if (ignoreGotFocus ) {
14371442 ignoreGotFocus = false ;
0 commit comments