mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-06-09 02:36:01 +02:00
Update loadExtensionsSynchronized to handle issue with setting the 'loaded' flag too early
This commit is contained in:
parent
f91558ee2f
commit
c8b246f974
1 changed files with 8 additions and 1 deletions
|
@ -138,6 +138,7 @@ public class ManagedBuildManager extends AbstractCExtension implements IScannerI
|
|||
private static final PluginVersionIdentifier buildInfoVersion = new PluginVersionIdentifier(3, 0, 0);
|
||||
private static Map depCalculatorsMap;
|
||||
private static boolean projectTypesLoaded = false;
|
||||
private static boolean projectTypesLoading = false;
|
||||
// Project types defined in the manifest files
|
||||
public static SortedMap projectTypeMap;
|
||||
private static List projectTypes;
|
||||
|
@ -1763,7 +1764,11 @@ public class ManagedBuildManager extends AbstractCExtension implements IScannerI
|
|||
// Do this once
|
||||
if (projectTypesLoaded)
|
||||
return;
|
||||
projectTypesLoaded = true;
|
||||
|
||||
// This routine gets called recursively. If so, just return
|
||||
if (projectTypesLoading)
|
||||
return;
|
||||
projectTypesLoading = true;
|
||||
|
||||
// Get the extensions that use the current CDT managed build model
|
||||
IExtensionPoint extensionPoint = Platform.getExtensionRegistry().getExtensionPoint(EXTENSION_POINT_ID);
|
||||
|
@ -2031,6 +2036,8 @@ public class ManagedBuildManager extends AbstractCExtension implements IScannerI
|
|||
}
|
||||
|
||||
performAdjustments();
|
||||
projectTypesLoading = false;
|
||||
projectTypesLoaded = true;
|
||||
}
|
||||
|
||||
private static void performAdjustments(){
|
||||
|
|
Loading…
Add table
Reference in a new issue