]> git.lyx.org Git - lyx.git/blobdiff - src/lyxlayout.C
Fix bug 2029 (RtL space width)
[lyx.git] / src / lyxlayout.C
index 4067415a567d32e60d50090222d6b6c19291c406..1e77971b8765c237b1e54f899a8e0e81d028a4e3 100644 (file)
@@ -25,6 +25,8 @@ using lyx::support::trim;
 using std::endl;
 using std::string;
 
+/// Special value of toclevel for layouts that to not belong in a TOC
+const int LyXLayout::NOT_IN_TOC = -1000;
 
 //  The order of the LayoutTags enum is no more important. [asierra300396]
 // Tags indexes.
@@ -121,7 +123,7 @@ LyXLayout::LyXLayout ()
        free_spacing = false;
        pass_thru = false;
        is_environment = false;
-       toclevel = 0;
+       toclevel = NOT_IN_TOC;
        commanddepth = 0;
 }
 
@@ -207,7 +209,8 @@ bool LyXLayout::Read(LyXLex & lexrc, LyXTextClass const & tclass)
 
                case LT_COPYSTYLE:     // initialize with a known style
                        if (lexrc.next()) {
-                               string const style = lexrc.getString();
+                               string const style = subst(lexrc.getString(),
+                                                               '_', ' ');
 
                                if (tclass.hasLayout(style)) {
                                        string const tmpname = name_;
@@ -785,7 +788,7 @@ void LyXLayout::readSpacing(LyXLex & lexrc)
                break;
        case ST_OTHER:
                lexrc.next();
-               spacing.set(Spacing::Other, lexrc.getFloat());
+               spacing.set(Spacing::Other, lexrc.getString());
                break;
        }
 }