1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-08-02 05:45:58 +02:00

bug 291690: DiscoveryTab.java isn't properly protected against internal array being null

Patch from Jeff Johnston
This commit is contained in:
Andrew Gvozdev 2009-10-08 01:33:50 +00:00
parent ebe2e13ea1
commit 9283fb4363

View file

@ -489,10 +489,12 @@ public class DiscoveryTab extends AbstractCBuildPropertyTab implements IBuildInf
private void handleDiscoveryProfileChanged() { private void handleDiscoveryProfileChanged() {
int pos = profileComboBox.getSelectionIndex(); int pos = profileComboBox.getSelectionIndex();
if (realPages != null) {
for (int i = 0; i < realPages.length; i++) for (int i = 0; i < realPages.length; i++)
if (realPages[i] != null) if (realPages[i] != null)
realPages[i].setVisible(i == pos); realPages[i].setVisible(i == pos);
} }
}
/** /**
* *
@ -577,14 +579,16 @@ public class DiscoveryTab extends AbstractCBuildPropertyTab implements IBuildInf
if (buildInfo == null) if (buildInfo == null)
return; return;
String savedId = buildInfo.getSelectedProfileId(); String savedId = buildInfo.getSelectedProfileId();
if (realPages != null) {
for (int i = 0; i < realPages.length; i++) { for (int i = 0; i < realPages.length; i++) {
if (realPages != null && realPages[i] != null) { if (realPages[i] != null) {
String s = visibleProfilesList.get(i); String s = visibleProfilesList.get(i);
buildInfo.setSelectedProfileId(s); buildInfo.setSelectedProfileId(s);
realPages[i].performApply(); realPages[i].performApply();
realPages[i].setVisible(false); realPages[i].setVisible(false);
} }
} }
}
buildInfo.setSelectedProfileId(savedId); buildInfo.setSelectedProfileId(savedId);
handleDiscoveryProfileChanged(); handleDiscoveryProfileChanged();
if (ok) if (ok)