From 1e0ebd55a4289dac4b062d5ccc58fd51a61db53f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Mail=C3=A4nder?= Date: Fri, 1 Dec 2023 12:54:07 +0100 Subject: [PATCH 1/2] Workaround a native crash at TreeViewer.setImage on Linux. This reverts commit 9de78e74ae758ba4a7e381a1629f95e1fbd2f41f. --- .../ux/extension/ui/swt/DataExplorerTreeUI.java | 4 +++- .../ux/extension/xxd/ui/parts/DataExplorerPart.java | 12 ++---------- 2 files changed, 5 insertions(+), 11 deletions(-) diff --git a/chemclipse/plugins/org.eclipse.chemclipse.ux.extension.ui/src/org/eclipse/chemclipse/ux/extension/ui/swt/DataExplorerTreeUI.java b/chemclipse/plugins/org.eclipse.chemclipse.ux.extension.ui/src/org/eclipse/chemclipse/ux/extension/ui/swt/DataExplorerTreeUI.java index 7d582011e1..ba8eaf3759 100644 --- a/chemclipse/plugins/org.eclipse.chemclipse.ux.extension.ui/src/org/eclipse/chemclipse/ux/extension/ui/swt/DataExplorerTreeUI.java +++ b/chemclipse/plugins/org.eclipse.chemclipse.ux.extension.ui/src/org/eclipse/chemclipse/ux/extension/ui/swt/DataExplorerTreeUI.java @@ -20,6 +20,7 @@ import org.eclipse.chemclipse.processing.converter.ISupplier; import org.eclipse.chemclipse.processing.converter.ISupplierFileIdentifier; +import org.eclipse.chemclipse.support.ui.workbench.DisplayUtils; import org.eclipse.chemclipse.ux.extension.ui.Activator; import org.eclipse.chemclipse.ux.extension.ui.l10n.Messages; import org.eclipse.chemclipse.ux.extension.ui.listener.DataExplorerDragListener; @@ -153,7 +154,8 @@ private TreeViewer createTreeViewer(Composite parent, Function treeViewer.setInput(dataExplorerTreeRoot.getRootContent())); } private int getNumberOfChildDirectories(File directory) { diff --git a/chemclipse/plugins/org.eclipse.chemclipse.ux.extension.xxd.ui/src/org/eclipse/chemclipse/ux/extension/xxd/ui/parts/DataExplorerPart.java b/chemclipse/plugins/org.eclipse.chemclipse.ux.extension.xxd.ui/src/org/eclipse/chemclipse/ux/extension/xxd/ui/parts/DataExplorerPart.java index 0b9d63b224..f538e91884 100644 --- a/chemclipse/plugins/org.eclipse.chemclipse.ux.extension.xxd.ui/src/org/eclipse/chemclipse/ux/extension/xxd/ui/parts/DataExplorerPart.java +++ b/chemclipse/plugins/org.eclipse.chemclipse.ux.extension.xxd.ui/src/org/eclipse/chemclipse/ux/extension/xxd/ui/parts/DataExplorerPart.java @@ -17,7 +17,6 @@ import javax.inject.Inject; import org.eclipse.chemclipse.processing.converter.ISupplierFileIdentifier; -import org.eclipse.chemclipse.support.ui.workbench.DisplayUtils; import org.eclipse.chemclipse.ux.extension.xxd.ui.Activator; import org.eclipse.chemclipse.ux.extension.xxd.ui.swt.DataExplorerUI; import org.eclipse.e4.core.contexts.IEclipseContext; @@ -37,12 +36,7 @@ public class DataExplorerPart { @PostConstruct public void init(Composite parent, MPart part, IEclipseContext context) { - // Workaround for https://bugs.eclipse.org/bugs/show_bug.cgi?id=573090 - DisplayUtils.getDisplay().asyncExec(() -> { - dataExplorerUI = new DataExplorerUI(parent, preferenceStore, context, supplierFileIdentifier); - dataExplorerUI.getControl().redraw(); - dataExplorerUI.getControl().requestLayout(); - }); + dataExplorerUI = new DataExplorerUI(parent, preferenceStore, context, supplierFileIdentifier); } public DataExplorerUI getDataExplorerUI() { @@ -53,8 +47,6 @@ public DataExplorerUI getDataExplorerUI() { @Focus public void focus() { - if(dataExplorerUI != null) { - dataExplorerUI.setFocus(); - } + dataExplorerUI.setFocus(); } } \ No newline at end of file From 3aa982304151901d114532ac6aad632a02e18453 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Mail=C3=A4nder?= Date: Fri, 1 Dec 2023 13:42:11 +0100 Subject: [PATCH 2/2] Code cleanup. --- .../chemclipse/ux/extension/xxd/ui/swt/DataListUI.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/chemclipse/plugins/org.eclipse.chemclipse.ux.extension.xxd.ui/src/org/eclipse/chemclipse/ux/extension/xxd/ui/swt/DataListUI.java b/chemclipse/plugins/org.eclipse.chemclipse.ux.extension.xxd.ui/src/org/eclipse/chemclipse/ux/extension/xxd/ui/swt/DataListUI.java index f52fb5c3f4..ee56f3d464 100644 --- a/chemclipse/plugins/org.eclipse.chemclipse.ux.extension.xxd.ui/src/org/eclipse/chemclipse/ux/extension/xxd/ui/swt/DataListUI.java +++ b/chemclipse/plugins/org.eclipse.chemclipse.ux.extension.xxd.ui/src/org/eclipse/chemclipse/ux/extension/xxd/ui/swt/DataListUI.java @@ -296,8 +296,8 @@ public void widgetDisposed(DisposeEvent e) { @Override public String getText(Object element) { - if(element instanceof File) { - return getName((File)element); + if(element instanceof File file) { + return getName(file); } return "-"; } @@ -314,8 +314,8 @@ public Image getImage(Object element) { @Override public String getText(Object element) { - if(element instanceof File) { - return getPath((File)element); + if(element instanceof File file) { + return getPath(file); } return "-"; }