Proposed fix for Bug 322928 - per thread deactivation & activation fails to establish global activation.
diff --git a/plugins/org.eclipse.objectteams.otequinox.hook/META-INF/MANIFEST.MF b/plugins/org.eclipse.objectteams.otequinox.hook/META-INF/MANIFEST.MF
index c01bf6e..9d81c19 100644
--- a/plugins/org.eclipse.objectteams.otequinox.hook/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.objectteams.otequinox.hook/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.objectteams.otequinox.hook
-Bundle-Version: 0.7.0.qualifier
+Bundle-Version: 0.7.1.qualifier
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Fragment-Host: org.eclipse.osgi;bundle-version="[3.6.0.v20090928,4.0.0)"
diff --git a/plugins/org.eclipse.objectteams.otequinox.hook/src/org/eclipse/objectteams/otequinox/hook/HookConfigurator.java b/plugins/org.eclipse.objectteams.otequinox.hook/src/org/eclipse/objectteams/otequinox/hook/HookConfigurator.java
index f4141c8..65077cc 100644
--- a/plugins/org.eclipse.objectteams.otequinox.hook/src/org/eclipse/objectteams/otequinox/hook/HookConfigurator.java
+++ b/plugins/org.eclipse.objectteams.otequinox.hook/src/org/eclipse/objectteams/otequinox/hook/HookConfigurator.java
@@ -42,7 +42,7 @@
public class HookConfigurator implements org.eclipse.osgi.baseadaptor.HookConfigurator {
- private static final String OTDT_BUILD_ID = "OT-0.7.0"; //$NON-NLS-1$
+ private static final String OTDT_BUILD_ID = "OT-0.7.1"; //$NON-NLS-1$
private static final String ECLIPSE_BUILD_ID = "eclipse.buildId"; //$NON-NLS-1$
/** Has OT/Equinox been enabled (using system property ot.equinox set to anything but "false")? */
public static final boolean OT_EQUINOX_ENABLED;
diff --git a/plugins/org.eclipse.objectteams.otequinox.hook/src/org/eclipse/objectteams/otequinox/internal/hook/TransformerHook.java b/plugins/org.eclipse.objectteams.otequinox.hook/src/org/eclipse/objectteams/otequinox/internal/hook/TransformerHook.java
index eefc5a4..0dc2214 100644
--- a/plugins/org.eclipse.objectteams.otequinox.hook/src/org/eclipse/objectteams/otequinox/internal/hook/TransformerHook.java
+++ b/plugins/org.eclipse.objectteams.otequinox.hook/src/org/eclipse/objectteams/otequinox/internal/hook/TransformerHook.java
@@ -155,12 +155,18 @@
if (kind != null) {
return kind;
}
+
+ if ("java.lang.Object".equals(className))
+ return null; // shortcut, have no super
String superName = null;
InputStream is = resourceLoader.getResourceAsStream(className.replace('.', '/')+".class");
if (is != null)
superName = this.byteCodeAnalyzer.getSuperclass(is, className);
- if (superName != null)
+ if (superName != null) {
+ if ("java.lang.Thread".equals(superName))
+ return ClassKind.BASE; // ensure TeamActivation will weave the calls to TeamThreadManager
return fetchInheritedTransformationKind(superName, resourceLoader, bundleName);
+ }
return kind;
}