+2005-10-20 Jean-Marc Lasgouttes <lasgouttes@lyx.org>
+
+ * insettabular.C (doDispatch): do not override the result of
+ LFUN_RIGHT/LEFT. (bug 2101)
+
2005-09-16 Michael Gerz <michael.gerz@teststep.org>
* insetvspace.C (metrics): compute ascent and descent in a way that
case LFUN_RIGHTSEL:
case LFUN_RIGHT:
cell(cur.idx())->dispatch(cur, cmd);
- cur.dispatched(); // override the cell's decision
- if (sl == cur.top())
+ if (!cur.result().dispatched()) {
isRightToLeft(cur) ? movePrevCell(cur) : moveNextCell(cur);
- if (sl == cur.top()) {
- cmd = FuncRequest(LFUN_FINISHED_RIGHT);
- cur.undispatched();
+ if (sl == cur.top())
+ cmd = FuncRequest(LFUN_FINISHED_RIGHT);
+ else
+ cur.dispatched();
}
break;
case LFUN_LEFTSEL:
case LFUN_LEFT:
cell(cur.idx())->dispatch(cur, cmd);
- cur.dispatched(); // override the cell's decision
- if (sl == cur.top())
+ if (!cur.result().dispatched()) {
isRightToLeft(cur) ? moveNextCell(cur) : movePrevCell(cur);
- if (sl == cur.top()) {
- cmd = FuncRequest(LFUN_FINISHED_LEFT);
- cur.undispatched();
+ if (sl == cur.top())
+ cmd = FuncRequest(LFUN_FINISHED_LEFT);
+ else
+ cur.dispatched();
}
break;