From 8e8602f94ea8e0bb8a87ada9dea78376601754a9 Mon Sep 17 00:00:00 2001 From: tuanvtdeptre199 Date: Thu, 11 Jun 2026 09:24:04 +0000 Subject: [PATCH 1/2] Fix selection not updating when checking a tree item on Windows --- .../eclipse/ui/ide/dialogs/ResourceTreeAndListGroup.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/ide/dialogs/ResourceTreeAndListGroup.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/ide/dialogs/ResourceTreeAndListGroup.java index 8a6fae213b8..764979cb475 100644 --- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/ide/dialogs/ResourceTreeAndListGroup.java +++ b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/ide/dialogs/ResourceTreeAndListGroup.java @@ -73,6 +73,15 @@ public void checkStateChanged(final CheckStateChangedEvent event) { BusyIndicator.showWhile(treeViewer.getControl().getDisplay(), () -> { if (event.getCheckable().equals(treeViewer)) { + /* + * On Windows, checking an item does not automatically update the tree selection + * like on Linux environment. Force the checked element to become the current + * selection so SelectionListener and CheckListener stay in sync together + */ + Object currentSelection = treeViewer.getStructuredSelection().getFirstElement(); + if (!Objects.equals(currentSelection, event.getElement())) { + treeViewer.setSelection(new StructuredSelection(event.getElement()), true); + } treeItemChecked(event.getElement(), event .getChecked()); } else { From 559f16adafc661785d95aade9e264ed9f0505a1b Mon Sep 17 00:00:00 2001 From: tuanvtdeptre199 Date: Fri, 12 Jun 2026 02:29:32 +0000 Subject: [PATCH 2/2] Fix 1 --- .../src/org/eclipse/ui/ide/dialogs/ResourceTreeAndListGroup.java | 1 + 1 file changed, 1 insertion(+) diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/ide/dialogs/ResourceTreeAndListGroup.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/ide/dialogs/ResourceTreeAndListGroup.java index 764979cb475..74adfe8495d 100644 --- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/ide/dialogs/ResourceTreeAndListGroup.java +++ b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/ide/dialogs/ResourceTreeAndListGroup.java @@ -23,6 +23,7 @@ import java.util.List; import java.util.Map; import java.util.Map.Entry; +import java.util.Objects; import java.util.Set; import org.eclipse.core.commands.common.EventManager;