mirror of
https://github.com/JFormDesigner/FlatLaf.git
synced 2025-12-07 22:40:53 +03:00
MultiResolutionImageSupport: fixed memory leak in create(int,Dimension[],Function<Dimension,Image>) (issue #726)
This commit is contained in:
@@ -5,6 +5,13 @@ FlatLaf Change Log
|
||||
|
||||
#### Fixed bugs
|
||||
|
||||
- Fixed memory leak in
|
||||
`MultiResolutionImageSupport.create(int,Dimension[],Function<Dimension,Image>)`,
|
||||
which caches images created by the producer function. Used by
|
||||
`FlatSVGIcon.getImage()` and `FlatSVGUtils.createWindowIconImages()`. If you
|
||||
use one of these methods, it is **strongly recommended** to upgrade to this
|
||||
version, because if the returned image is larger and painted very often it may
|
||||
result in an out-of-memory situation. (issue #726)
|
||||
- FileChooser: Fixed occasional NPE in `FlatShortcutsPanel` on Windows. (issue
|
||||
#718)
|
||||
- TextField: Fixed placeholder text painting, which did not respect horizontal
|
||||
|
||||
@@ -23,6 +23,7 @@ import java.awt.image.BaseMultiResolutionImage;
|
||||
import java.awt.image.MultiResolutionImage;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.IdentityHashMap;
|
||||
import java.util.List;
|
||||
import java.util.function.Function;
|
||||
@@ -134,7 +135,7 @@ public class MultiResolutionImageSupport
|
||||
{
|
||||
private final Dimension[] dimensions;
|
||||
private final Function<Dimension, Image> producer;
|
||||
private final IdentityHashMap<Dimension, Image> cache = new IdentityHashMap<>();
|
||||
private final HashMap<Dimension, Image> cache = new HashMap<>();
|
||||
|
||||
ProducerMultiResolutionImage( Dimension[] dimensions, Function<Dimension, Image> producer ) {
|
||||
this.dimensions = dimensions;
|
||||
|
||||
Reference in New Issue
Block a user