Changeset 19548 in josm


Ignore:
Timestamp:
2026-03-19T14:22:11+01:00 (3 hours ago)
Author:
stoecker
Message:

fix #24677 - improve startup time needed for loading SVG icons

Location:
trunk/src/org/openstreetmap/josm
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/gui/tagging/presets/TaggingPreset.java

    r18918 r19548  
    285285            .getResourceAsync(result -> {
    286286                if (result != null) {
     287                    // Pre-render off EDT to avoid flooding the event queue with expensive SVG rendering
     288                    ImageIcon small = result.getImageIcon(ImageProvider.ImageSizes.SMALLICON.getImageDimension());
     289                    ImageIcon large = result.getImageIcon(ImageProvider.ImageSizes.LARGEICON.getImageDimension());
    287290                    GuiHelper.runInEDT(() -> {
    288291                        try {
    289                             result.attachImageIcon(this, true);
     292                            putValue(Action.SMALL_ICON, small);
     293                            putValue(Action.LARGE_ICON_KEY, large);
     294                            putValue("ImageResource", result);
    290295                        } catch (IllegalArgumentException e) {
    291296                            Logging.warn(toString() + ": " + PRESET_ICON_ERROR_MSG_PREFIX + iconName);
  • trunk/src/org/openstreetmap/josm/tools/ImageProvider.java

    r19535 r19548  
    725725     */
    726726    public CompletableFuture<Void> getResourceAsync(Consumer<? super ImageResource> action) {
    727         return isRemote()
    728                 ? CompletableFuture.supplyAsync(this::getResource, IMAGE_FETCHER).thenAcceptAsync(action, IMAGE_FETCHER)
    729                 : CompletableFuture.completedFuture(getResource()).thenAccept(action);
     727        return CompletableFuture.supplyAsync(this::getResource, IMAGE_FETCHER).thenAcceptAsync(action, IMAGE_FETCHER);
    730728    }
    731729
Note: See TracChangeset for help on using the changeset viewer.