]> git.lyx.org Git - lyx.git/blobdiff - src/insets/InsetTabular.cpp
Fix bug #10153: There's a mechanism in XHTML output that defers the
[lyx.git] / src / insets / InsetTabular.cpp
index f56991470c89ef367d30d7099ff9d73565d8c5bb..7ad86633dae7116666655750b6d5a6c426b6f0c9 100644 (file)
@@ -1102,7 +1102,7 @@ void Tabular::setAlignment(idx_type cell, LyXAlignment align,
                        dpoint = from_utf8(lyxrc.default_decimal_point);
        } else {
                cellInfo(cell).alignment = align;
-               cellInset(cell).get()->setContentAlignment(align);
+               cellInset(cell)->setContentAlignment(align);
        }
 }
 
@@ -2605,7 +2605,7 @@ void Tabular::TeXRow(otexstream & os, row_type row,
 
                if (getAlignment(cell) == LYX_ALIGN_DECIMAL) {
                        // copy cell and split in 2
-                       InsetTableCell head = InsetTableCell(*cellInset(cell).get());
+                       InsetTableCell head = InsetTableCell(*cellInset(cell));
                        head.setBuffer(buffer());
                        DocIterator dit = cellInset(cell)->getText(0)->macrocontextPosition();
                        dit.pop_back();
@@ -3018,7 +3018,7 @@ docstring Tabular::xhtmlRow(XHTMLStream & xs, row_type row,
                else if (isMultiRow(cell))
                        attr << " rowspan='" << rowSpan(cell) << "'";
 
-               xs << html::StartTag(celltag, attr.str()) << html::CR();
+               xs << html::StartTag(celltag, attr.str(), true) << html::CR();
                ret += cellInset(cell)->xhtml(xs, runparams);
                xs << html::EndTag(celltag) << html::CR();
                ++cell;
@@ -3474,7 +3474,8 @@ InsetTabular::InsetTabular(Buffer * buf, row_type rows,
 
 
 InsetTabular::InsetTabular(InsetTabular const & tab)
-       : Inset(tab), tabular(tab.tabular)
+       : Inset(tab), tabular(tab.tabular),
+         first_visible_cell_(0), offset_valign_(0), rowselect_(false), colselect_(false)
 {
 }
 
@@ -3615,7 +3616,7 @@ void InsetTabular::metrics(MetricsInfo & mi, Dimension & dim) const
                        // determine horizontal offset because of decimal align (if necessary)
                        int decimal_width = 0;
                        if (tabular.getAlignment(cell) == LYX_ALIGN_DECIMAL) {
-                               InsetTableCell tail = InsetTableCell(*tabular.cellInset(cell).get());
+                               InsetTableCell tail = InsetTableCell(*tabular.cellInset(cell));
                                tail.setBuffer(tabular.buffer());
                                // we need to set macrocontext position everywhere
                                // otherwise we crash with nested insets (e.g. footnotes)
@@ -4934,7 +4935,7 @@ bool InsetTabular::getStatus(Cursor & cur, FuncRequest const & cmd,
                }
                // check if there is already a caption
                bool have_caption = false;
-               InsetTableCell itc = InsetTableCell(*tabular.cellInset(cur.idx()).get());
+               InsetTableCell itc = InsetTableCell(*tabular.cellInset(cur.idx()));
                ParagraphList::const_iterator pit = itc.paragraphs().begin();
                ParagraphList::const_iterator pend = itc.paragraphs().end();
                for (; pit != pend; ++pit) {