Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPierre-Charles David2015-09-21 08:28:44 +0000
committerPierre-Charles David2016-02-23 10:29:39 +0000
commit08dcd2af0d5d69d65a505278b14439656dc19a55 (patch)
tree5559eda54283da8dd196db790ad332db53708147
parent89aaf8ac55fb02d2e0007a4a26a42f10d2706c45 (diff)
downloadorg.eclipse.sirius-08dcd2af0d5d69d65a505278b14439656dc19a55.tar.gz
org.eclipse.sirius-08dcd2af0d5d69d65a505278b14439656dc19a55.tar.xz
org.eclipse.sirius-08dcd2af0d5d69d65a505278b14439656dc19a55.zip
[442268] Tweak Guava cache configuration and fix SWT resource leak
Bug: 442268 Change-Id: Ie7c96a6da7a3635ae9d10e879e4b34e23c677b7f Signed-off-by: Pierre-Charles David <pierre-charles.david@obeo.fr>
-rw-r--r--plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/api/figure/SVGFigure.java9
1 files changed, 8 insertions, 1 deletions
diff --git a/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/api/figure/SVGFigure.java b/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/api/figure/SVGFigure.java
index 315e4dfcf5..2cf6703d47 100644
--- a/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/api/figure/SVGFigure.java
+++ b/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/api/figure/SVGFigure.java
@@ -38,6 +38,8 @@ import org.w3c.dom.Document;
import com.google.common.cache.Cache;
import com.google.common.cache.CacheBuilder;
+import com.google.common.cache.RemovalListener;
+import com.google.common.cache.RemovalNotification;
import com.google.common.collect.Lists;
//CHECKSTYLE:OFF
@@ -49,7 +51,12 @@ public class SVGFigure extends Figure implements StyledFigure, ITransparentFigur
/**
* The rendered bitmaps, organized by key..
*/
- private final Cache<String, Image> images = CacheBuilder.newBuilder().softValues().build();
+ private final Cache<String, Image> images = CacheBuilder.newBuilder().maximumSize(10).removalListener(new RemovalListener<String, Image>() {
+ @Override
+ public void onRemoval(RemovalNotification<String, Image> notification) {
+ notification.getValue().dispose();
+ }
+ }).build();
/**
* Get the image cached or create new one and cache it.

Back to the top