Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
View | Details | Raw Unified | Return to bug 247021 | Differences between
and this patch

Collapse All | Expand All

(-)model/org/eclipse/cdt/internal/core/settings/model/CProjectDescriptionManager.java (+25 lines)
Lines 1890-1895 Link Here
1890
				List<CElementDelta> list = new ArrayList<CElementDelta>();
1890
				List<CElementDelta> list = new ArrayList<CElementDelta>();
1891
				generateCElementDeltasFromCfgDelta(cProject, indexDelta, list);
1891
				generateCElementDeltasFromCfgDelta(cProject, indexDelta, list);
1892
				return list.toArray(new ICElementDelta[list.size()]);
1892
				return list.toArray(new ICElementDelta[list.size()]);
1893
			} else {
1894
				if(projDesDelta.getChangeFlags() == ICDescriptionDelta.ACTIVE_CFG) {
1895
					CElementDelta cdelta = new CElementDelta(cProject.getCModel());
1896
					cdelta.changed(cProject, ICElementDelta.F_CONTENT);		
1897
					try {						
1898
						// just a trigger for CElementContentProvider to update the view
1899
						cdelta.changed(cProject.getBinaryContainer(), ICElementDelta.F_CONTENT);						
1900
					} catch (CModelException e) {						
1901
					}					
1902
					return new ICElementDelta[]{cdelta};					
1903
				}
1893
			}
1904
			}
1894
			return EMPTY_CELEMENT_DELTA;
1905
			return EMPTY_CELEMENT_DELTA;
1895
		case ICDescriptionDelta.ADDED:
1906
		case ICDescriptionDelta.ADDED:
Lines 1980-1985 Link Here
1980
				ICLanguageSetting oldLS = getLanguageSetting(oldRcDes, fileName);
1991
				ICLanguageSetting oldLS = getLanguageSetting(oldRcDes, fileName);
1981
				ICDescriptionDelta ld = createDelta(newLS, oldLS);
1992
				ICDescriptionDelta ld = createDelta(newLS, oldLS);
1982
				generateCElementDeltasFromLanguageDelta(el, ld, list);
1993
				generateCElementDeltasFromLanguageDelta(el, ld, list);
1994
				if(ld == null) {
1995
					// if no language delta, the resource configuration was added or removed
1996
					generateCElementForResource(cProject, el, list);
1997
				}
1983
			} else {
1998
			} else {
1984
				if(newRcDes.getType() == ICSettingBase.SETTING_FOLDER){
1999
				if(newRcDes.getType() == ICSettingBase.SETTING_FOLDER){
1985
					ICFolderDescription oldFoDes = null;
2000
					ICFolderDescription oldFoDes = null;
Lines 1997-2002 Link Here
1997
								generateCElementDeltasFromLanguageDelta(el, child, list);
2012
								generateCElementDeltasFromLanguageDelta(el, child, list);
1998
							}
2013
							}
1999
						}
2014
						}
2015
					} else {
2016
						// if no language delta, the resource configuration was added or removed
2017
						generateCElementForResource(cProject, el, list);
2000
					}
2018
					}
2001
				} else {
2019
				} else {
2002
					//ERROR?
2020
					//ERROR?
Lines 2061-2066 Link Here
2061
		return flags;
2079
		return flags;
2062
	}
2080
	}
2063
2081
2082
	private void generateCElementForResource(ICProject cProject, ICElement el, List<CElementDelta> list) {
2083
		CElementDelta cdelta = new CElementDelta(el.getCModel());
2084
		cdelta.changed(cProject, ICElementDelta.F_CONTENT);
2085
		cdelta.changed(el, ICElementDelta.F_CONTENT);
2086
		list.add(cdelta);
2087
	}
2088
2064
	int[] kindsToArray(int kinds){
2089
	int[] kindsToArray(int kinds){
2065
		int allKinds[] = KindBasedStore.getLanguageEntryKinds();
2090
		int allKinds[] = KindBasedStore.getLanguageEntryKinds();
2066
		int kindsArray[] = new int[allKinds.length];
2091
		int kindsArray[] = new int[allKinds.length];

Return to bug 247021