From: Mathieu Baudier Date: Mon, 3 May 2021 09:57:49 +0000 (+0200) Subject: Cache image data instead of SWT images, in order to avoid conflicts X-Git-Tag: argeo-commons-2.1.103~23 X-Git-Url: https://git.argeo.org/?p=lgpl%2Fargeo-commons.git;a=commitdiff_plain;h=b11ba78073dc074392104a8280c4567cc633a84d Cache image data instead of SWT images, in order to avoid conflicts between multiple apps. --- diff --git a/org.argeo.cms.ui/src/org/argeo/cms/ui/util/AbstractCmsTheme.java b/org.argeo.cms.ui/src/org/argeo/cms/ui/util/AbstractCmsTheme.java index 5ec931e71..c3fd7960d 100644 --- a/org.argeo.cms.ui/src/org/argeo/cms/ui/util/AbstractCmsTheme.java +++ b/org.argeo.cms.ui/src/org/argeo/cms/ui/util/AbstractCmsTheme.java @@ -12,7 +12,7 @@ import org.eclipse.swt.widgets.Display; /** Centralises some generic {@link CmsTheme} patterns. */ public abstract class AbstractCmsTheme implements CmsTheme { - private Map imageCache = new HashMap<>(); + private Map imageCache = new HashMap<>(); private Map> iconPaths = new HashMap<>(); @@ -24,13 +24,14 @@ public abstract class AbstractCmsTheme implements CmsTheme { if (in == null) return null; ImageData imageData = new ImageData(in); - Image image = new Image(Display.getDefault(), imageData); - imageCache.put(path, image); + imageCache.put(path, imageData); } catch (IOException e) { throw new IllegalStateException(e); } } - return imageCache.get(path); + ImageData imageData = imageCache.get(path); + Image image = new Image(Display.getCurrent(), imageData); + return image; } @Override