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