Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlain Magloire2004-03-04 03:00:31 +0000
committerAlain Magloire2004-03-04 03:00:31 +0000
commit0c59594c730a9ebe719fe71f510c7f685b61733d (patch)
treecafa11846cf2e4992965ca66b80bb304db4d672b
parent4eab4a897e0c6c4c3817c84dec062fd98a1ddfe1 (diff)
downloadorg.eclipse.cdt-0c59594c730a9ebe719fe71f510c7f685b61733d.tar.gz
org.eclipse.cdt-0c59594c730a9ebe719fe71f510c7f685b61733d.tar.xz
org.eclipse.cdt-0c59594c730a9ebe719fe71f510c7f685b61733d.zip
Restart the BinaryRunner when changing the BinaryParser
-rw-r--r--core/org.eclipse.cdt.core/ChangeLog7
-rw-r--r--core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/CModelManager.java13
2 files changed, 17 insertions, 3 deletions
diff --git a/core/org.eclipse.cdt.core/ChangeLog b/core/org.eclipse.cdt.core/ChangeLog
index d562011f27b..a5b1cf0bad6 100644
--- a/core/org.eclipse.cdt.core/ChangeLog
+++ b/core/org.eclipse.cdt.core/ChangeLog
@@ -1,5 +1,12 @@
2004-03-03 Alain Magloire
+ When changing the BinaryParser the BinaryRunners
+ were not restarted.
+
+ * model/org/eclipse/cdt/iternal/core/model/CModelManager.java
+
+2004-03-03 Alain Magloire
+
From Sean Sevoy. Fix to VCErrorParser.java
PR 53253.
diff --git a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/CModelManager.java b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/CModelManager.java
index 6c2f99fd720..cb55ac1c19b 100644
--- a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/CModelManager.java
+++ b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/CModelManager.java
@@ -316,7 +316,7 @@ public class CModelManager implements IResourceChangeListener {
registerCModelDelta(delta);
} else if (type == ICElement.C_BINARY) {
if (! ((IBinary)celement).isObject()) {
-//System.out.println("RELEASE Binary " + cfile.getElementName());
+System.out.println("RELEASE Binary " + celement.getElementName());
CProject cproj = (CProject)celement.getCProject();
BinaryContainer container = (BinaryContainer)cproj.getBinaryContainer();
container.removeChild(celement);
@@ -327,7 +327,7 @@ public class CModelManager implements IResourceChangeListener {
}
if (celement instanceof IParent) {
- if ( peekAtInfo(celement) != null ) {
+ if (peekAtInfo(celement) != null) {
CElementInfo info = ((CElement)celement).getElementInfo();
if (info != null) {
ICElement[] children = info.getChildren();
@@ -344,14 +344,21 @@ public class CModelManager implements IResourceChangeListener {
if (pinfo.vLib != null) {
releaseCElement(pinfo.vLib);
}
+ IProject project = celement.getCProject().getProject();
+ BinaryRunner runner = (BinaryRunner) binaryRunners.remove(project);
+ if (runner != null) {
+ runner.stop();
+ }
}
}
} else {
+ // If an entire folder was deleted we need to update the
+ // BinaryContainer/ArchiveContainer also.
ICProject cproject = celement.getCProject();
CProjectInfo info = (CProjectInfo)peekAtInfo(cproject);
if (info != null && info.vBin != null) {
if (peekAtInfo(info.vBin) != null) {
- ICElement[] bins = info.getChildren();
+ ICElement[] bins = info.vBin.getChildren();
for (int i = 0; i < bins.length; i++) {
if (celement.getPath().isPrefixOf(bins[i].getPath())) {
CElementDelta delta = new CElementDelta(getCModel());

Back to the top