Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--qt/org.eclipse.cdt.qt.core/src/org/eclipse/cdt/internal/qt/core/index/QMakeProjectInfoManager.java13
1 files changed, 9 insertions, 4 deletions
diff --git a/qt/org.eclipse.cdt.qt.core/src/org/eclipse/cdt/internal/qt/core/index/QMakeProjectInfoManager.java b/qt/org.eclipse.cdt.qt.core/src/org/eclipse/cdt/internal/qt/core/index/QMakeProjectInfoManager.java
index 4553bcbfcd2..46e51b42e14 100644
--- a/qt/org.eclipse.cdt.qt.core/src/org/eclipse/cdt/internal/qt/core/index/QMakeProjectInfoManager.java
+++ b/qt/org.eclipse.cdt.qt.core/src/org/eclipse/cdt/internal/qt/core/index/QMakeProjectInfoManager.java
@@ -46,7 +46,7 @@ public class QMakeProjectInfoManager {
synchronized (CACHE_SYNC) {
CACHE = new HashMap<IProject,QMakeProjectInfo>();
}
- CoreModel.getDefault().addCProjectDescriptionListener(PD_LISTENER, ICDescriptionDelta.ACTIVE_CFG);
+ CoreModel.getDefault().addCProjectDescriptionListener(PD_LISTENER, CProjectDescriptionEvent.LOADED | CProjectDescriptionEvent.APPLIED);
ResourcesPlugin.getWorkspace().addResourceChangeListener(RC_LISTENER, IResourceChangeEvent.POST_CHANGE | IResourceChangeEvent.PRE_CLOSE | IResourceChangeEvent.PRE_DELETE);
}
@@ -110,9 +110,14 @@ public class QMakeProjectInfoManager {
// called on active project configuration change
@Override
public void handleEvent(CProjectDescriptionEvent event) {
- QMakeProjectInfo info = getQMakeProjectInfoFor(event.getProject(), false);
- if (info != null) {
- info.updateState();
+ ICDescriptionDelta projectDelta = event.getProjectDelta();
+ if (projectDelta != null) {
+ if ((projectDelta.getChangeFlags() & ICDescriptionDelta.ACTIVE_CFG) != 0) {
+ QMakeProjectInfo info = getQMakeProjectInfoFor(event.getProject(), false);
+ if (info != null) {
+ info.updateState();
+ }
+ }
}
}

Back to the top