diff --git a/uppsrc/IconDes/ImlFile.cpp b/uppsrc/IconDes/ImlFile.cpp index 22d061260..6f1a7c9e1 100644 --- a/uppsrc/IconDes/ImlFile.cpp +++ b/uppsrc/IconDes/ImlFile.cpp @@ -199,12 +199,19 @@ bool LoadIml(const String& data, Array& img, int& format) while(p.Id("IMAGE_ID")) { p.PassChar('('); String n; - if(p.IsId()) + if(p.IsId()) { n = p.ReadId(); - if(n.StartsWith("im__", 4)) - n = Null; + if(n.StartsWith("im__", 4)) + n = Null; + p.PassChar(')'); + } + else + while(!p.IsEof()) { + if(p.Char(')')) + break; + p.SkipTerm(); + } name.Add(n); - p.PassChar(')'); bool e = false; if(p.Id("IMAGE_META")) { p.PassChar('('); diff --git a/uppsrc/IconDes/List.cpp b/uppsrc/IconDes/List.cpp index 97e5a1183..149ea3093 100644 --- a/uppsrc/IconDes/List.cpp +++ b/uppsrc/IconDes/List.cpp @@ -177,7 +177,10 @@ void IconDes::InsertFile() Image m = StreamRaster::LoadFileAny(fn); if(IsNull(m)) Exclamation(DeQtf(fn) + " not an image."); - ImageInsert(Filter(GetFileTitle(fn), CharFilterImageId), m); + String id = Filter(GetFileTitle(fn), CharFilterImageId); + if(!IsAlpha(*id) && *id != '_') + id = '_' + id; + ImageInsert(id, m); } }