]> git.lyx.org Git - lyx.git/blobdiff - src/BufferEncodings.cpp
Remove unnecessary `c_str`
[lyx.git] / src / BufferEncodings.cpp
index 87000ac9c82402e7f24443f580926dc6c2340bf1..dcf422d54bbe4888142e74584c2fb7cdf161b291 100644 (file)
@@ -35,21 +35,15 @@ void BufferEncodings::initUnicodeMath(Buffer const & buffer, bool for_master)
        }
 
        // Check this buffer
-       Inset & inset = buffer.inset();
-       InsetIterator it = inset_iterator_begin(inset);
-       InsetIterator const end = inset_iterator_end(inset);
-       for (; it != end; ++it)
-               it->initUnicodeMath();
+       for (Inset const & it : buffer.inset())
+               it.initUnicodeMath();
 
        if (!for_master)
                return;
 
        // Check children
-       ListOfBuffers blist = buffer.getDescendents();
-       ListOfBuffers::const_iterator bit = blist.begin();
-       ListOfBuffers::const_iterator const bend = blist.end();
-       for (; bit != bend; ++bit)
-               initUnicodeMath(**bit, false);
+       for (Buffer * buf : buffer.getDescendants())
+               initUnicodeMath(*buf, false);
 }
 
 
@@ -81,7 +75,7 @@ void BufferEncodings::validate(char_type c, LaTeXFeatures & features, bool for_m
                                                features.require(feat);
                                        }
                                } else
-                                       features.addPreambleSnippet(mathpreamble);
+                                       features.addPreambleSnippet(from_utf8(mathpreamble));
                        }
                }
                // with utf8-plain, we do not load packages (see #7766)
@@ -93,10 +87,13 @@ void BufferEncodings::validate(char_type c, LaTeXFeatures & features, bool for_m
                                        while (!feats.empty()) {
                                                string feat;
                                                feats = split(feats, feat, ',');
-                                               features.require(feat);
+                                               // context-dependent features are handled
+                                               // in Paragraph::Private::validate()
+                                               if (!contains(feat, '='))
+                                                       features.require(feat);
                                        }
                                } else
-                                       features.addPreambleSnippet(textpreamble);
+                                       features.addPreambleSnippet(from_utf8(textpreamble));
                        }
                }
        }