From 0fe114bdc09d50d3629476eaa895cc9d3feae324 Mon Sep 17 00:00:00 2001 From: John Tsiombikas Date: Thu, 1 Dec 2016 04:03:58 +0200 Subject: [PATCH] fixed regression in the texture resource management --- src/texture.cc | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/src/texture.cc b/src/texture.cc index c556d27..b3c17fe 100644 --- a/src/texture.cc +++ b/src/texture.cc @@ -470,15 +470,24 @@ TextureSet::TextureSet() Texture *TextureSet::get_texture(const char *name, TextureType type) const { - std::map::const_iterator iter = data.find(name); + char *fname; + int nsize = datamap_path_size(name); + if(nsize) { + fname = (char*)alloca(nsize); + datamap_lookup(name, fname, nsize); + } else { + fname = (char*)name; + } + + std::map::const_iterator iter = data.find(fname); if(iter != data.end()) { return iter->second; } Texture *res = create(); - data[name] = res; + data[fname] = res; res->create_default(type); - resman_lookup(rman, name, res); + resman_lookup(rman, fname, res); return res; } @@ -491,17 +500,8 @@ Texture *TextureSet::create_tex() bool TextureSet::load_tex(Texture *tex, const char *fname) { - char *pathbuf; - int nsize = datamap_path_size(fname); - if(nsize) { - pathbuf = (char*)alloca(nsize); - datamap_lookup(fname, pathbuf, nsize); - } else { - pathbuf = (char*)fname; - } - Image *img = new Image; - if(!img->load(pathbuf)) { + if(!img->load(fname)) { delete img; return false; } -- 1.7.10.4