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);