insets/InsetTabular.cpp (doDispatch): fix to #9291. The problem was simply that the default status for the cursor in the call to *::doDispatch is "dispatched".

insets/InsetTabular.cpp (edit): do not reset the selection
This commit is contained in:
Alfredo Braunstein 2014-10-13 10:59:50 +02:00
parent bb9cbd3a94
commit b2246c4ea2

View File

@ -3875,7 +3875,7 @@ void InsetTabular::edit(Cursor & cur, bool front, EntryDirection)
{
//lyxerr << "InsetTabular::edit: " << this << endl;
cur.finishUndo();
cur.setSelection(false);
//cur.setSelection(false);
cur.push(*this);
if (front) {
if (isRightToLeft(cur))
@ -4155,9 +4155,10 @@ void InsetTabular::doDispatch(Cursor & cur, FuncRequest & cmd)
else
movePrevCell(cur, entry_from);
// if we're exiting the table, call the appropriate FINISHED lfun
if (sl == cur.top())
if (sl == cur.top()) {
cmd = FuncRequest(finish_lfun);
else
cur.undispatched();
} else
cur.dispatched();
cur.screenUpdateFlags(Update::Force | Update::FitCursor);
@ -6442,7 +6443,8 @@ string InsetTabular::params2string(InsetTabular const & inset)
}
void InsetTabular::setLayoutForHiddenCells(DocumentClass const & dc) {
void InsetTabular::setLayoutForHiddenCells(DocumentClass const & dc)
{
for (Tabular::col_type c = 0; c < tabular.ncols(); ++c) {
for (Tabular::row_type r = 0; r < tabular.nrows(); ++r) {
if (!tabular.isPartOfMultiColumn(r,c) &&