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();
|
ICLanguageSetting langSetting = (ICLanguageSetting) items[0].getData();
|
||||||
if (langSetting != null) {
|
if (langSetting != null) {
|
||||||
lang = langSetting;
|
lang = langSetting;
|
||||||
selectedLanguageId = lang.getLanguageId();
|
selectedLanguageId = getLanguageId(lang);
|
||||||
update();
|
update();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -380,20 +380,11 @@ public abstract class AbstractLangsListTab extends AbstractCPropertyTab {
|
||||||
for (ICLanguageSetting langSetting : ls) {
|
for (ICLanguageSetting langSetting : ls) {
|
||||||
if ((langSetting.getSupportedEntryKinds() & getKind()) != 0) {
|
if ((langSetting.getSupportedEntryKinds() & getKind()) != 0) {
|
||||||
TreeItem t = new TreeItem(langTree, SWT.NONE);
|
TreeItem t = new TreeItem(langTree, SWT.NONE);
|
||||||
String langId = langSetting.getLanguageId();
|
String langId = getLanguageId(langSetting);
|
||||||
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();
|
|
||||||
t.setText(0, langId);
|
t.setText(0, langId);
|
||||||
t.setData(langSetting);
|
t.setData(langSetting);
|
||||||
if (selectedItem == null || langSetting.getLanguageId().equals(selectedLanguageId)) {
|
if (selectedItem == null
|
||||||
|
|| (selectedLanguageId != null && selectedLanguageId.equals(langId))) {
|
||||||
selectedItem = t;
|
selectedItem = t;
|
||||||
lang = langSetting;
|
lang = langSetting;
|
||||||
}
|
}
|
||||||
|
@ -407,6 +398,21 @@ public abstract class AbstractLangsListTab extends AbstractCPropertyTab {
|
||||||
update();
|
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() {
|
private void updateExport() {
|
||||||
exported = new ArrayList<ICSettingEntry>();
|
exported = new ArrayList<ICSettingEntry>();
|
||||||
ICExternalSetting[] extSettings = getResDesc().getConfiguration().getExternalSettings();
|
ICExternalSetting[] extSettings = getResDesc().getConfiguration().getExternalSettings();
|
||||||
|
|
Loading…
Add table
Reference in a new issue