Recover from a crashed layer.
[gpl/argeo-suite.git] / org.argeo.suite.ui / src / org / argeo / suite / ui / SuiteUi.java
index d93c3a8b38eb54de555474f13853e6d72646b28b..38904a40370c6cb6afb63fd8734e12dea6759a45 100644 (file)
@@ -110,14 +110,18 @@ class SuiteUi extends Composite {
                Composite toShow = getLayer(layerId, context);
                if (toShow != null) {
                        currentLayerId = layerId;
-                       if (!isDisposed())
-                               getDisplay().syncExec(() -> {
-                                       if (!toShow.isDisposed())
-                                               toShow.moveAbove(null);
-                                       else
-                                               log.warn("Cannot show work area because it is disposed.");
-                                       dynamicArea.layout(true, true);
-                               });
+                       if (!isDisposed()) {
+//                             getDisplay().syncExec(() -> {
+                               if (!toShow.isDisposed()) {
+                                       toShow.moveAbove(null);
+                               } else {
+                                       log.warn("Cannot show work area because it is disposed.");
+                                       toShow = initLayer(layerId, layers.get(layerId), context);
+                                       toShow.moveAbove(null);
+                               }
+                               dynamicArea.layout(true, true);
+//                             });
+                       }
                        return toShow;
                } else {
                        return current;