]> git.argeo.org Git - lgpl/argeo-commons.git/blobdiff - swt/rap/org.argeo.cms.swt.rap/src/org/argeo/cms/web/CmsWebEntryPoint.java
Merge tag 'v2.3.18' into testing
[lgpl/argeo-commons.git] / swt / rap / org.argeo.cms.swt.rap / src / org / argeo / cms / web / CmsWebEntryPoint.java
index d63aeeea53471ea6a62731daed32cb47129f7168..216dc3654100b45f82ac2b5a07d33b558209916d 100644 (file)
@@ -17,8 +17,8 @@ import org.argeo.api.cms.CmsLog;
 import org.argeo.api.cms.CmsSession;
 import org.argeo.api.cms.ux.CmsImageManager;
 import org.argeo.api.cms.ux.CmsView;
+import org.argeo.cms.CurrentUser;
 import org.argeo.cms.LocaleUtils;
-import org.argeo.cms.auth.CurrentUser;
 import org.argeo.cms.auth.RemoteAuthCallbackHandler;
 import org.argeo.cms.servlet.ServletHttpRequest;
 import org.argeo.cms.servlet.ServletHttpResponse;
@@ -271,25 +271,24 @@ public class CmsWebEntryPoint extends AbstractSwtCmsView implements EntryPoint,
                                                        return null;
                                                }
                                        });
-                               } catch (Throwable e) {
-                                       if (e instanceof SWTError) {
-                                               SWTError swtError = (SWTError) e;
-                                               if (swtError.code == SWT.ERROR_FUNCTION_DISPOSED) {
-                                                       log.error("Unexpected SWT error in event loop, ignoring it. " + e.getMessage());
-                                                       continue eventLoop;
-                                               } else {
-                                                       log.error("Unexpected SWT error in event loop, shutting down...", e);
-                                                       break eventLoop;
-                                               }
-                                       } else if (e instanceof ThreadDeath) {
-                                               throw (ThreadDeath) e;
-                                       } else if (e instanceof Error) {
-                                               log.error("Unexpected error in event loop, shutting down...", e);
-                                               break eventLoop;
-                                       } else {
-                                               log.error("Unexpected exception in event loop, ignoring it. " + e.getMessage());
+                               } catch (SWTError e) {
+                                       SWTError swtError = (SWTError) e;
+                                       if (swtError.code == SWT.ERROR_FUNCTION_DISPOSED) {
+                                               log.error("Unexpected SWT error in event loop, ignoring it. " + e.getMessage());
                                                continue eventLoop;
+                                       } else {
+                                               log.error("Unexpected SWT error in event loop, shutting down...", e);
+                                               break eventLoop;
                                        }
+                               } catch (ThreadDeath e) {
+                                       // ThreadDeath is expected when the UI thread terminates
+                                       throw (ThreadDeath) e;
+                               } catch (Error e) {
+                                       log.error("Unexpected error in event loop, shutting down...", e);
+                                       break eventLoop;
+                               } catch (Throwable e) {
+                                       log.error("Unexpected exception in event loop, ignoring it. " + e.getMessage());
+                                       continue eventLoop;
                                }
                        }
                        if (!display.isDisposed())