]> git.lyx.org Git - features.git/blobdiff - src/insets/InsetCaption.cpp
Make the generation of children's tocs more robust
[features.git] / src / insets / InsetCaption.cpp
index 208ad1ac38e8da2f31fa2fc7aa0dd2f0343df5e4..7570fa52fa1ec1cc6bf12e95cd947db6e078c7d8 100644 (file)
@@ -32,6 +32,8 @@
 #include "OutputParams.h"
 #include "Paragraph.h"
 #include "ParIterator.h"
+#include "TexRow.h"
+#include "texstream.h"
 #include "TextClass.h"
 #include "TextMetrics.h"
 #include "TocBackend.h"
@@ -92,7 +94,7 @@ void InsetCaption::setCustomLabel(docstring const & label)
 
 
 void InsetCaption::addToToc(DocIterator const & cpit, bool output_active,
-                                                       UpdateType utype) const
+                                                       UpdateType utype, TocBackend & backend) const
 {
        string const & type = floattype_.empty() ? "senseless" : floattype_;
        DocIterator pit = cpit;
@@ -107,9 +109,9 @@ void InsetCaption::addToToc(DocIterator const & cpit, bool output_active,
                str = full_label_;
                text().forOutliner(str, length);
        }
-       buffer().tocBackend().builder(type)->captionItem(pit, str, output_active);
+       backend.builder(type).captionItem(pit, str, output_active);
        // Proceed with the rest of the inset.
-       InsetText::addToToc(cpit, output_active, utype);
+       InsetText::addToToc(cpit, output_active, utype, backend);
 }
 
 
@@ -302,7 +304,7 @@ docstring InsetCaption::xhtml(XHTMLStream & xs, OutputParams const & rp) const
                string const our_class = "float-caption-" + type_;
                size_t const loc = attr.find("class='");
                if (loc != string::npos)
-                       attr.insert(loc + 7, our_class+ " ");
+                       attr.insert(loc + 7, our_class + " ");
                else
                        attr = attr + " class='" + our_class + "'";
        }