diff options
author | Eike Stepper | 2011-10-12 04:23:10 +0000 |
---|---|---|
committer | Eike Stepper | 2011-10-12 04:23:10 +0000 |
commit | 9f6bdb8c853c87f9f6fa720216d33a0ddca97069 (patch) | |
tree | 1c6ff844943ebf6d53019eb76717e2872c242f42 /plugins | |
parent | a2b235783b62e0dfe52c2796bfdbfc0911278227 (diff) | |
download | cdo-9f6bdb8c853c87f9f6fa720216d33a0ddca97069.tar.gz cdo-9f6bdb8c853c87f9f6fa720216d33a0ddca97069.tar.xz cdo-9f6bdb8c853c87f9f6fa720216d33a0ddca97069.zip |
[360521] CDOQuery memory leak with getResult
https://bugs.eclipse.org/bugs/show_bug.cgi?id=360521
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/query/CDOQueryImpl.java | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/query/CDOQueryImpl.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/query/CDOQueryImpl.java index 50d2b86a12..804e9a8872 100644 --- a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/query/CDOQueryImpl.java +++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/query/CDOQueryImpl.java @@ -82,9 +82,21 @@ public class CDOQueryImpl extends CDOQueryInfoImpl implements CDOQuery public <T> List<T> getResult(Class<T> classObject) { - AbstractQueryIterator<T> queryResult = createQueryResult(classObject); - view.getSession().getSessionProtocol().query(view, queryResult); - return queryResult.asList(); + AbstractQueryIterator<T> queryResult = null; + + try + { + queryResult = createQueryResult(classObject); + view.getSession().getSessionProtocol().query(view, queryResult); + return queryResult.asList(); + } + finally + { + if (queryResult != null) + { + queryResult.close(); + } + } } public <T> List<T> getResult() |