- 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);
- });
- return toShow;
+ 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);
+ });
+ return toShow;
+ } else {
+ return current;
+ }