Ticket #8686: patch_8686_2.diff

File patch_8686_2.diff, 1.4 KB (added by dommage, 13 years ago)

Updated patch that tries exact path match first.

  • src/org/openstreetmap/josm/tools/ImageProvider.java

     
    2929import java.util.ArrayList;
    3030import java.util.Arrays;
    3131import java.util.Collection;
     32import java.util.Enumeration;
    3233import java.util.HashMap;
    3334import java.util.Map;
    3435import java.util.concurrent.ExecutorService;
     
    525526        try
    526527        {
    527528            zipFile = new ZipFile(archive);
    528             ZipEntry entry = zipFile.getEntry(full_name);
     529
     530            ZipEntry entry = null;
     531            entry = zipFile.getEntry(full_name);
     532
     533            // Issue #8686: Allow ZIP files whose paths are relative to the ZIP root in JOSM's map styling
     534            if (entry == null) {
     535                Enumeration<? extends ZipEntry> entries = zipFile.entries();
     536                while (entries.hasMoreElements()) {
     537                    ZipEntry testentry = entries.nextElement();
     538                    if (testentry.getName().endsWith(full_name)) {
     539                        entry = testentry;
     540                        break;
     541                    }
     542                }
     543            }
     544            ///
     545
    529546            if(entry != null)
    530547            {
    531548                int size = (int)entry.getSize();