@@ -406,10 +406,11 @@ public boolean configure(ICProjectDescription prjCDesc, boolean prjDescWritable)
406
406
}
407
407
if (prjDescWritable ) {
408
408
if (myNeedsSyncWithCDT ) {
409
- saveProjDesc = syncWithCDT (prjCDesc , prjDescWritable );
409
+ saveProjDesc = saveProjDesc || syncWithCDT (prjCDesc , prjDescWritable );
410
410
}
411
411
if (myNeedsClean ) {
412
- cleanOldData (prjCDesc );
412
+ myNeedsClean = cleanOldData (prjCDesc );
413
+ saveProjDesc = saveProjDesc || myNeedsClean ;
413
414
}
414
415
}
415
416
return saveProjDesc ;
@@ -425,7 +426,8 @@ public boolean configure(ICProjectDescription prjCDesc, boolean prjDescWritable)
425
426
if (myNeedsClean ) {
426
427
// we migrated from a previous sloeber configuration
427
428
// and we can safely delete the old data
428
- cleanOldData (prjCDesc );
429
+ myNeedsClean = cleanOldData (prjCDesc );
430
+ saveProjDesc = saveProjDesc || myNeedsClean ;
429
431
}
430
432
if (myNeedsSyncWithCDT ) {
431
433
saveProjDesc = saveProjDesc || syncWithCDT (prjCDesc , prjDescWritable );
@@ -451,21 +453,24 @@ private boolean syncWithCDT(ICProjectDescription prjCDesc, boolean prjDescWritab
451
453
* @param prjCDesc
452
454
* @return
453
455
*/
454
- private void cleanOldData (ICProjectDescription prjCDesc ) {
456
+ private boolean cleanOldData (ICProjectDescription prjCDesc ) {
457
+ boolean needsClean = false ;
455
458
IEnvironmentVariableManager envManager = CCorePlugin .getDefault ().getBuildEnvironmentManager ();
456
459
IContributedEnvironment contribEnv = envManager .getContributedEnvironment ();
457
460
for (ICConfigurationDescription confDesc : prjCDesc .getConfigurations ()) {
458
461
IEnvironmentVariable [] CurVariables = contribEnv .getVariables (confDesc );
459
462
for (int i = (CurVariables .length - 1 ); i > 0 ; i --) {
460
463
if (CurVariables [i ].getName ().startsWith ("A." )) { //$NON-NLS-1$
461
464
contribEnv .removeVariable (CurVariables [i ].getName (), confDesc );
465
+ needsClean = true ;
462
466
}
463
467
if (CurVariables [i ].getName ().startsWith ("JANTJE." )) { //$NON-NLS-1$
464
468
contribEnv .removeVariable (CurVariables [i ].getName (), confDesc );
469
+ needsClean = true ;
465
470
}
466
471
}
467
472
}
468
- myNeedsClean = false ;
473
+ return needsClean ;
469
474
}
470
475
471
476
/**
0 commit comments