1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-29 19:45:01 +02:00

bug 359176: NPE in XL C++ project

This commit is contained in:
Eugene Ostroukhov 2011-09-28 06:42:39 -04:00 committed by Andrew Gvozdev
parent a4d4dec51f
commit 210549ba61

View file

@ -291,7 +291,7 @@ public abstract class AbstractLangsListTab extends AbstractCPropertyTab {
ICLanguageSetting langSetting = (ICLanguageSetting) items[0].getData();
if (langSetting != null) {
lang = langSetting;
selectedLanguageId = lang.getLanguageId();
selectedLanguageId = getLanguageId(lang);
update();
}
}
@ -380,20 +380,11 @@ public abstract class AbstractLangsListTab extends AbstractCPropertyTab {
for (ICLanguageSetting langSetting : ls) {
if ((langSetting.getSupportedEntryKinds() & getKind()) != 0) {
TreeItem t = new TreeItem(langTree, SWT.NONE);
String langId = langSetting.getLanguageId();
if (langId != null && !langId.equals(EMPTY_STR)) {
// Bug #178033: get language name via LangManager.
ILanguageDescriptor langDes = LanguageManager.getInstance().getLanguageDescriptor(langId);
if (langDes == null)
langId = null;
else
langId = langDes.getName();
}
if (langId == null || langId.equals(EMPTY_STR))
langId = langSetting.getName();
String langId = getLanguageId(langSetting);
t.setText(0, langId);
t.setData(langSetting);
if (selectedItem == null || langSetting.getLanguageId().equals(selectedLanguageId)) {
if (selectedItem == null
|| (selectedLanguageId != null && selectedLanguageId.equals(langId))) {
selectedItem = t;
lang = langSetting;
}
@ -407,6 +398,21 @@ public abstract class AbstractLangsListTab extends AbstractCPropertyTab {
update();
}
private String getLanguageId(ICLanguageSetting langSetting) {
String langId = langSetting.getLanguageId();
if (langId != null && !langId.equals(EMPTY_STR)) {
// Bug #178033: get language name via LangManager.
ILanguageDescriptor langDes = LanguageManager.getInstance().getLanguageDescriptor(langId);
if (langDes == null)
langId = null;
else
langId = langDes.getName();
}
if (langId == null || langId.equals(EMPTY_STR))
langId = langSetting.getName();
return langId;
}
private void updateExport() {
exported = new ArrayList<ICSettingEntry>();
ICExternalSetting[] extSettings = getResDesc().getConfiguration().getExternalSettings();