// reset need_update setted in above function!
need_update = NONE;
result = the_locking_inset->localDispatch(bv, action, arg);
- if ((result == UNDISPATCHED) || (result == FINISHED)) {
+ if ((result == UNDISPATCHED) || (result >= FINISHED)) {
unlockInsetInInset(bv, the_locking_inset);
nodraw(false);
the_locking_inset = 0;
}
break;
}
- if (result!=FINISHED) {
+ if (result < FINISHED) {
if (!the_locking_inset) {
showInsetCursor(bv);
}
bool moved = isRightToLeft(bv)
? movePrevCell(bv) : moveNextCell(bv);
if (!moved)
- return FINISHED;
+ return FINISHED_RIGHT;
if (lock && activateCellInset(bv))
return DISPATCHED;
}
int const ocell = actcell;
actcell = tabular->GetCellAbove(actcell);
if (actcell == ocell) // we moved out of the inset
- return FINISHED;
+ return FINISHED_UP;
resetPos(bv);
if (lock) {
int x = 0;
int const ocell = actcell;
actcell = tabular->GetCellBelow(actcell);
if (actcell == ocell) // we moved out of the inset
- return FINISHED;
+ return FINISHED_DOWN;
resetPos(bv);
if (lock) {
int x = 0;