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:
parent
a4d4dec51f
commit
210549ba61
1 changed files with 19 additions and 13 deletions
|
@ -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();
|
||||
|
|
Loading…
Add table
Reference in a new issue