@@ -2080,14 +2080,10 @@ public static Image win32_new(Device device, int type, long handle, int nativeZo
20802080}
20812081
20822082private void destroyHandle (int zoom ) {
2083- zoomLevelToImageHandle .entrySet ().removeIf (entry -> {
2084- final Integer zoomKey = entry .getKey ();
2085- if (zoom == zoomKey ) {
2086- destroyHandle (entry .getValue ().handle );
2087- return true ;
2088- }
2089- return false ;
2090- });
2083+ ImageHandle imageHandle = zoomLevelToImageHandle .remove (zoom );
2084+ if (imageHandle != null ) {
2085+ destroyHandle (imageHandle .handle );
2086+ }
20912087}
20922088
20932089private abstract class AbstractImageProviderWrapper {
@@ -2124,6 +2120,7 @@ private class ImageFileNameProviderWrapper extends AbstractImageProviderWrapper
21242120 * ImageFileNameProvider to provide file names at various Zoom levels
21252121 */
21262122 private final ImageFileNameProvider provider ;
2123+ private boolean isDestroyed ;
21272124 private int width ;
21282125 private int height ;
21292126 private final static int BASE_ZOOM = 100 ;
@@ -2186,7 +2183,12 @@ ImageFileNameProviderWrapper createCopy(Image image) {
21862183
21872184 @ Override
21882185 boolean isDisposed () {
2189- return false ;
2186+ return this .isDestroyed ;
2187+ }
2188+
2189+ @ Override
2190+ protected void destroy () {
2191+ this .isDestroyed = true ;
21902192 }
21912193}
21922194
@@ -2198,6 +2200,7 @@ private class ImageDataProviderWrapper extends AbstractImageProviderWrapper {
21982200 private final ImageDataProvider provider ;
21992201 private int width ;
22002202 private int height ;
2203+ private boolean isDestroyed ;
22012204 private final static int BASE_ZOOM = 100 ;
22022205
22032206 ImageDataProviderWrapper (ImageDataProvider provider ) {
@@ -2232,7 +2235,12 @@ ImageHandle getImageMetadata(int zoom) {
22322235
22332236 @ Override
22342237 boolean isDisposed () {
2235- return false ;
2238+ return this .isDestroyed ;
2239+ }
2240+
2241+ @ Override
2242+ protected void destroy () {
2243+ this .isDestroyed = true ;
22362244 }
22372245
22382246 @ Override
0 commit comments