From 049b386dc56e53d95f7c7a2d8553188f8b0750d8 Mon Sep 17 00:00:00 2001 From: Mikhail Sennikovsky Date: Mon, 14 May 2007 18:14:15 +0000 Subject: [PATCH] 1. Fix for [Bug 186665] CDT 4 update old version project failed. 2. fix NPE in MBSMacroSupplier --- .../eclipse/cdt/managedbuilder/core/ManagedBuildManager.java | 2 ++ .../cdt/managedbuilder/internal/macros/MbsMacroSupplier.java | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/core/ManagedBuildManager.java b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/core/ManagedBuildManager.java index 9ee45425dc3..463b45d5d6e 100644 --- a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/core/ManagedBuildManager.java +++ b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/core/ManagedBuildManager.java @@ -2910,6 +2910,7 @@ public class ManagedBuildManager extends AbstractCExtension implements IScannerI } public static IManagedBuildInfo getBuildInfoLegacy(IProject project){ + synchronized(project){ IManagedBuildInfo info = null; try { info = getLoaddedBuildInfo(project); @@ -2927,6 +2928,7 @@ public class ManagedBuildManager extends AbstractCExtension implements IScannerI } return info; + } } /** * Finds, but does not create, the managed build information for the diff --git a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/macros/MbsMacroSupplier.java b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/macros/MbsMacroSupplier.java index 19b21a944e2..02b0191a5cc 100644 --- a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/macros/MbsMacroSupplier.java +++ b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/macros/MbsMacroSupplier.java @@ -425,7 +425,7 @@ public class MbsMacroSupplier extends BuildCdtVariablesSupplierBase { ITool targetTool = cfg.calculateTargetTool(); if(targetTool != null){ IOutputType pot = targetTool.getPrimaryOutputType(); - String prefix = pot.getOutputPrefix(); + String prefix = pot != null ? pot.getOutputPrefix() : ""; //$NON-NLS-1$ // Resolve any macros in the outputPrefix @@ -486,7 +486,7 @@ public class MbsMacroSupplier extends BuildCdtVariablesSupplierBase { ITool targetTool = cfg.calculateTargetTool(); if(targetTool != null){ IOutputType pot = targetTool.getPrimaryOutputType(); - String prefix = pot.getOutputPrefix(); + String prefix = pot != null ? pot.getOutputPrefix() : ""; //$NON-NLS-1$ // Resolve any macros in the outputPrefix // Note that we cannot use file macros because if we do a clean