commit 354897f6d9c03056a8e16f36e7153ec513eae646
Author: Guillaume Munch <[email protected]>
Date: Fri Mar 3 23:26:58 2017 +0100
Tabular::editXY should not touch the selection
---
src/insets/Inset.h | 2 ++
src/insets/InsetTabular.cpp | 1 -
2 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/src/insets/Inset.h b/src/insets/Inset.h
index 526ede2..b8fd637 100644
--- a/src/insets/Inset.h
+++ b/src/insets/Inset.h
@@ -183,6 +183,8 @@ public:
virtual void edit(Cursor & cur, bool front,
EntryDirection entry_from = ENTRY_DIRECTION_IGNORE);
/// cursor enters
+ /// Note: this method must preserve the selection status. See:
+ /// https://www.mail-archive.com/[email protected]/msg199001.html
virtual Inset * editXY(Cursor & cur, int x, int y);
/// compute the size of the object returned in dim
diff --git a/src/insets/InsetTabular.cpp b/src/insets/InsetTabular.cpp
index a6a2805..8881735 100644
--- a/src/insets/InsetTabular.cpp
+++ b/src/insets/InsetTabular.cpp
@@ -5185,7 +5185,6 @@ int InsetTabular::dist(BufferView & bv, idx_type const
cell, int x, int y) const
Inset * InsetTabular::editXY(Cursor & cur, int x, int y)
{
//lyxerr << "InsetTabular::editXY: " << this << endl;
- cur.selection(false);
cur.push(*this);
cur.idx() = getNearestCell(cur.bv(), x, y);
return cur.bv().textMetrics(&cell(cur.idx())->text()).editXY(cur, x, y);