projects
/
lgpl
/
argeo-commons.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Cache image data instead of SWT images, in order to avoid conflicts
[lgpl/argeo-commons.git]
/
org.argeo.cms.ui
/
src
/
org
/
argeo
/
cms
/
ui
/
util
/
AbstractCmsTheme.java
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 5ec931e71920b66a9ee1071165eb267ffa80df86..c3fd7960d146296331bcae3daf91402736eed43c 100644
(file)
--- 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 {
/** Centralises some generic {@link CmsTheme} patterns. */
public abstract class AbstractCmsTheme implements CmsTheme {
- private Map<String, Image> imageCache = new HashMap<>();
+ private Map<String, Image
Data
> imageCache = new HashMap<>();
private Map<String, Map<Integer, String>> iconPaths = new HashMap<>();
private Map<String, Map<Integer, String>> iconPaths = new HashMap<>();
@@
-24,13
+24,14
@@
public abstract class AbstractCmsTheme implements CmsTheme {
if (in == null)
return null;
ImageData imageData = new ImageData(in);
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);
}
}
} 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
}
@Override