]> git.lyx.org Git - lyx.git/blobdiff - src/insets/InsetTabular.cpp
Fix crash when copying an InsetTabular.
[lyx.git] / src / insets / InsetTabular.cpp
index 1738869e18062fe9a2805ca0df7e36ea982c9c85..e2853409267e87e9e74628b7df40b3d9c94c4b12 100644 (file)
@@ -1797,9 +1797,10 @@ Tabular::idx_type Tabular::setLTCaption(row_type row, bool what)
                setRightLine(i, false);
        } else {
                unsetMultiColumn(i);
-               // FIXME: when unsetting a caption row, also all existing captions
-               // in this row must be dissolved, see (bug 5754)
-               // dispatch(FuncRequest(LFUN_INSET_DISSOLVE, "caption-insert"));
+               // When unsetting a caption row, also all existing
+               // captions in this row must be dissolved.
+               lyx::dispatch(FuncRequest(LFUN_LINE_BEGIN));
+               lyx::dispatch(FuncRequest(LFUN_INSET_DISSOLVE, "caption"));
        }
        row_info[row].caption = what;
        return i;
@@ -3510,11 +3511,11 @@ void InsetTabular::doDispatch(Cursor & cur, FuncRequest & cmd)
                                && cur.pos() == cur.lastpos())
                                || (!next_cell && cur.pit() == 0 && cur.pos() == 0));
 
+                       bool const empty_cell = cur.lastpos() == 0 && cur.lastpit() == 0;
+
                        // ...try to dispatch to the cell's inset.
                        cell(cur.idx())->dispatch(cur, cmd);
 
-                       bool const empty_cell = cur.lastpos() == 0 && cur.lastpit() == 0;
-                       
                        // When we already have a selection we want to select the whole cell
                        // before going to the next cell.
                        if (select_whole && !empty_cell){