mirror of
https://git.lyx.org/repos/lyx.git
synced 2025-01-03 08:28:25 +00:00
Revert "Let tm be a reference here as elsewhere"
This commit was wrong because a reference variable can never be
re-assigned (it would change the original variable). I learn C++
pitfalls every day.
Fixes bug #11512.
This reverts commit 10e2c65835
.
This commit is contained in:
parent
63bfaa14be
commit
f659af339e
@ -639,10 +639,10 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd)
|
|||||||
}
|
}
|
||||||
|
|
||||||
BufferView * bv = &cur.bv();
|
BufferView * bv = &cur.bv();
|
||||||
TextMetrics & tm = bv->textMetrics(this);
|
TextMetrics * tm = &bv->textMetrics(this);
|
||||||
if (!tm.contains(cur.pit())) {
|
if (!tm->contains(cur.pit())) {
|
||||||
lyx::dispatch(FuncRequest(LFUN_SCREEN_SHOW_CURSOR));
|
lyx::dispatch(FuncRequest(LFUN_SCREEN_SHOW_CURSOR));
|
||||||
tm = bv->textMetrics(this);
|
tm = &bv->textMetrics(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
// FIXME: We use the update flag to indicates wether a singlePar or a
|
// FIXME: We use the update flag to indicates wether a singlePar or a
|
||||||
@ -735,7 +735,7 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd)
|
|||||||
if (cur.selection())
|
if (cur.selection())
|
||||||
cutSelection(cur, false);
|
cutSelection(cur, false);
|
||||||
else
|
else
|
||||||
tm.deleteLineForward(cur);
|
tm->deleteLineForward(cur);
|
||||||
finishChange(cur, false);
|
finishChange(cur, false);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -941,13 +941,13 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd)
|
|||||||
case LFUN_LINE_BEGIN:
|
case LFUN_LINE_BEGIN:
|
||||||
case LFUN_LINE_BEGIN_SELECT:
|
case LFUN_LINE_BEGIN_SELECT:
|
||||||
needsUpdate |= cur.selHandle(cmd.action() == LFUN_LINE_BEGIN_SELECT);
|
needsUpdate |= cur.selHandle(cmd.action() == LFUN_LINE_BEGIN_SELECT);
|
||||||
needsUpdate |= tm.cursorHome(cur);
|
needsUpdate |= tm->cursorHome(cur);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case LFUN_LINE_END:
|
case LFUN_LINE_END:
|
||||||
case LFUN_LINE_END_SELECT:
|
case LFUN_LINE_END_SELECT:
|
||||||
needsUpdate |= cur.selHandle(cmd.action() == LFUN_LINE_END_SELECT);
|
needsUpdate |= cur.selHandle(cmd.action() == LFUN_LINE_END_SELECT);
|
||||||
needsUpdate |= tm.cursorEnd(cur);
|
needsUpdate |= tm->cursorEnd(cur);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case LFUN_SECTION_SELECT: {
|
case LFUN_SECTION_SELECT: {
|
||||||
@ -1530,8 +1530,8 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd)
|
|||||||
|
|
||||||
case LFUN_SERVER_GET_XY:
|
case LFUN_SERVER_GET_XY:
|
||||||
cur.message(from_utf8(
|
cur.message(from_utf8(
|
||||||
convert<string>(tm.cursorX(cur.top(), cur.boundary()))
|
convert<string>(tm->cursorX(cur.top(), cur.boundary()))
|
||||||
+ ' ' + convert<string>(tm.cursorY(cur.top(), cur.boundary()))));
|
+ ' ' + convert<string>(tm->cursorY(cur.top(), cur.boundary()))));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case LFUN_SERVER_SET_XY: {
|
case LFUN_SERVER_SET_XY: {
|
||||||
@ -1543,7 +1543,7 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd)
|
|||||||
lyxerr << "SETXY: Could not parse coordinates in '"
|
lyxerr << "SETXY: Could not parse coordinates in '"
|
||||||
<< to_utf8(cmd.argument()) << endl;
|
<< to_utf8(cmd.argument()) << endl;
|
||||||
else
|
else
|
||||||
tm.setCursorFromCoordinates(cur, x, y);
|
tm->setCursorFromCoordinates(cur, x, y);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1761,9 +1761,9 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd)
|
|||||||
|
|
||||||
case LFUN_MOUSE_TRIPLE:
|
case LFUN_MOUSE_TRIPLE:
|
||||||
if (cmd.button() == mouse_button::button1) {
|
if (cmd.button() == mouse_button::button1) {
|
||||||
tm.cursorHome(cur);
|
tm->cursorHome(cur);
|
||||||
cur.resetAnchor();
|
cur.resetAnchor();
|
||||||
tm.cursorEnd(cur);
|
tm->cursorEnd(cur);
|
||||||
cur.setSelection();
|
cur.setSelection();
|
||||||
bv->cursor() = cur;
|
bv->cursor() = cur;
|
||||||
}
|
}
|
||||||
@ -1838,7 +1838,7 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd)
|
|||||||
int const wh = bv->workHeight();
|
int const wh = bv->workHeight();
|
||||||
int const y = max(0, min(wh - 1, cmd.y()));
|
int const y = max(0, min(wh - 1, cmd.y()));
|
||||||
|
|
||||||
tm.setCursorFromCoordinates(cur, cmd.x(), y);
|
tm->setCursorFromCoordinates(cur, cmd.x(), y);
|
||||||
cur.setTargetX(cmd.x());
|
cur.setTargetX(cmd.x());
|
||||||
// Don't allow selecting a separator inset
|
// Don't allow selecting a separator inset
|
||||||
if (cur.pos() && cur.paragraph().isEnvSeparator(cur.pos() - 1))
|
if (cur.pos() && cur.paragraph().isEnvSeparator(cur.pos() - 1))
|
||||||
|
Loading…
Reference in New Issue
Block a user