diff --git a/src/java/com/threerings/resource/Handler.java b/src/java/com/threerings/resource/Handler.java index f6cb482bc..d2477263f 100644 --- a/src/java/com/threerings/resource/Handler.java +++ b/src/java/com/threerings/resource/Handler.java @@ -1,5 +1,5 @@ // -// $Id: Handler.java,v 1.7 2004/08/27 02:20:34 mdb Exp $ +// $Id$ // // Narya library - tools for developing networked games // Copyright (C) 2002-2004 Three Rings Design, Inc., All Rights Reserved @@ -30,6 +30,7 @@ import java.net.URLConnection; import java.net.URLStreamHandler; import javax.imageio.ImageIO; +import javax.imageio.stream.ImageInputStream; import com.samskivert.net.AttachableURLFactory; import com.samskivert.io.ByteArrayOutInputStream; @@ -41,7 +42,8 @@ import com.samskivert.util.StringUtil; /** * This class is not used directly, except by a registering ResourceManager * so that we can load data from the resource manager using URLs of the form - * resource://<resourceSet>/<path>. + * resource://<resourceSet>/<path>. ResourceSet may + * be the empty string to load from the default resource sets. */ public class Handler extends URLStreamHandler { @@ -82,6 +84,8 @@ public class Handler extends URLStreamHandler String query = url.getQuery(); if (!StringUtil.blank(query)) { _stream = getStream(bundle, path, query); + } else if (StringUtil.blank(bundle)) { + _stream = _rmgr.getResource(path); } else { _stream = _rmgr.getResource(bundle, path); } @@ -147,7 +151,10 @@ public class Handler extends URLStreamHandler // locate the tile image, then write that subimage back out in PNG // format into memory and return an input stream for that - BufferedImage src = ImageIO.read(_rmgr.getImageResource(bundle, path)); + ImageInputStream stream = + StringUtil.blank(bundle) ? _rmgr.getImageResource(path) + : _rmgr.getImageResource(bundle, path); + BufferedImage src = ImageIO.read(stream); Rectangle trect = GeomUtil.getTile( src.getWidth(), src.getHeight(), width, height, tidx); BufferedImage tile = src.getSubimage(