]> git.lyx.org Git - lyx.git/blobdiff - src/TocBackend.cpp
This is the first of a series of commits that will make InsetLayout a real class.
[lyx.git] / src / TocBackend.cpp
index fd28f9572e33589766743f594efe2ac1a936a3fb..adc4d89b236b4c704750396c32805829f947535d 100644 (file)
@@ -92,6 +92,12 @@ Toc const & TocBackend::toc(string const & type) const
 }
 
 
+Toc & TocBackend::toc(string const & type)
+{
+       return tocs_[type];
+}
+
+
 void TocBackend::updateItem(ParConstIterator const & par_it)
 {
        if (toc("tableofcontents").empty()) {
@@ -157,7 +163,7 @@ void TocBackend::update()
                InsetList::const_iterator end = pit->insetList().end();
                for (; it != end; ++it) {
                        Inset & inset = *it->inset;
-                       inset.addToToc(tocs_, *buffer_, pit);
+                       inset.addToToc(*buffer_, pit);
                        switch (inset.lyxCode()) {
                        case OPTARG_CODE: {
                                if (!tocstring.empty())
@@ -204,12 +210,11 @@ TocIterator TocBackend::item(string const & type,
        --it;
 
        ParConstIterator par_it_text = par_it;
-       if (par_it_text.inMathed())
-               // It would be better to do
-               //   par_it_text.backwardInset();
-               // but this method does not exist.
+       if (par_it_text.inMathed()) {
+               // We are only interested in text so remove the math CursorSlice.
                while (par_it_text.inMathed())
-                       par_it_text.backwardPos();
+                       par_it_text.pop_back();
+       }
 
        for (; it != last; --it) {
                // We verify that we don't compare contents of two