1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-08-04 23:05:47 +02:00

[294351] Fix leaking service tracker

This commit is contained in:
Anton Leherbauer 2009-11-10 12:21:23 +00:00
parent ff4609c895
commit 7e5c056111

View file

@ -33,7 +33,7 @@ import org.eclipse.core.runtime.IAdaptable;
import org.eclipse.debug.core.model.IDebugModelProvider; import org.eclipse.debug.core.model.IDebugModelProvider;
/** /**
* An implementation of AbstractDebugTextHover using DSF services * An implementation of AbstractDebugTextHover using DSF services.
* *
* @since 2.1 * @since 2.1
*/ */
@ -112,6 +112,7 @@ abstract public class AbstractDsfDebugTextHover extends AbstractDebugTextHover {
IFrameDMContext frame = getFrame(); IFrameDMContext frame = getFrame();
String sessionId = frame.getSessionId(); String sessionId = frame.getSessionId();
DsfServicesTracker dsfServicesTracker = new DsfServicesTracker(DsfUIPlugin.getBundleContext(), sessionId); DsfServicesTracker dsfServicesTracker = new DsfServicesTracker(DsfUIPlugin.getBundleContext(), sessionId);
try {
GetExpressionValueQuery query = new GetExpressionValueQuery(frame, expression, dsfServicesTracker); GetExpressionValueQuery query = new GetExpressionValueQuery(frame, expression, dsfServicesTracker);
DsfSession session = DsfSession.getSession(sessionId); DsfSession session = DsfSession.getSession(sessionId);
session.getExecutor().execute(query); session.getExecutor().execute(query);
@ -121,6 +122,9 @@ abstract public class AbstractDsfDebugTextHover extends AbstractDebugTextHover {
return data.getFormattedValue(); return data.getFormattedValue();
} catch (Exception e) { } catch (Exception e) {
} }
} finally {
dsfServicesTracker.dispose();
}
return null; return null;
} }