From 8495b4edb010ec9c03e2bc1ad651ef708c47bd6c Mon Sep 17 00:00:00 2001 From: cxl Date: Sat, 28 Jan 2012 14:16:14 +0000 Subject: [PATCH] *ide: Fixed issue with importing .png file into icondesigner, filename starting with digit (RM #241) git-svn-id: svn://ultimatepp.org/upp/trunk@4481 f0d560ea-af0d-0410-9eb7-867de7ffcac7 --- uppsrc/IconDes/ImlFile.cpp | 15 +++++++++++---- uppsrc/IconDes/List.cpp | 5 ++++- 2 files changed, 15 insertions(+), 5 deletions(-) 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); } }