Bug 578759 - Large file association not correctly removed if disabled
This change ensures disabled preferences are also correctly handled on
remove.
Change-Id: I1355b93f4f2e06309df1b7d64c63d6d1560fc2dd
Signed-off-by: Simeon Andreev <simeon.danailov.andreev@gmail.com>
Reviewed-on: https://git.eclipse.org/r/c/platform/eclipse.platform.ui/+/190812
Tested-by: Andrey Loskutov <loskutov@gmx.de>
Reviewed-by: Andrey Loskutov <loskutov@gmx.de>
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/LargeFileAssociationsPreferencePage.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/LargeFileAssociationsPreferencePage.java
index 3c7baf0..febe18f 100644
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/LargeFileAssociationsPreferencePage.java
+++ b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/LargeFileAssociationsPreferencePage.java
@@ -660,7 +660,8 @@
}
private void updateExtensionPreferences() {
- String[] previousExtensions = getConfiguredExtensionTypes();
+ String[] previousConfiguredExtensions = getConfiguredExtensionTypes();
+ String[] previousDisabledExtensions = getDisabledExtensionTypes();
List<String> configuredExtensions = new ArrayList<>();
List<String> disabledExtensions = new ArrayList<>();
List<String> newExtensions = new ArrayList<>();
@@ -696,7 +697,9 @@
setConfiguredExtensionTypes(configuredExtensions.toArray(String[]::new));
setDisabledExtensionTypes(disabledExtensions.toArray(String[]::new));
- Set<String> removedExtensions = new HashSet<>(Arrays.asList(previousExtensions));
+ Set<String> removedExtensions = new HashSet<>();
+ removedExtensions.addAll(Arrays.asList(previousConfiguredExtensions));
+ removedExtensions.addAll(Arrays.asList(previousDisabledExtensions));
removedExtensions.removeAll(newExtensions);
for (String removedExtension : removedExtensions) {
removeFileLimitsForExtension(removedExtension);