Fix bug #6664: InsetInfo: lyxrc information broken.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34278 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
Vincent van Ravesteijn 2010-04-23 11:46:24 +00:00
parent 38628558a6
commit 0f2e47c4ad

View File

@ -309,10 +309,26 @@ void InsetInfo::updateInfo()
}
case LYXRC_INFO: {
ostringstream oss;
if (name_.empty()) {
setText(_("undefined"));
break;
}
lyxrc.write(oss, true, name_);
string result = oss.str();
// remove leading \\name
result = result.substr(name_.size() + 2);
if (result.size() < 2) {
setText(_("undefined"));
break;
}
string::size_type loc = result.rfind("\n", result.size() - 2);
loc = loc == string::npos ? 0 : loc + 1;
if (result.size() < loc + name_.size() + 1
|| result.substr(loc + 1, name_.size()) != name_) {
setText(_("undefined"));
break;
}
// remove leading comments and \\name and space
result = result.substr(loc + name_.size() + 2);
// remove \n and ""
result = rtrim(result, "\n");
result = trim(result, "\"");