} else if (token == "\\change_inserted") {
lex.eatLine();
std::istringstream is(lex.getString());
- int aid;
+ unsigned int aid;
lyx::time_type ct;
is >> aid >> ct;
if (aid >= bp.author_map.size()) {
buf.error(ErrorItem(_("Change tracking error"),
bformat(_("Unknown author index for insertion: %1$d\n"), aid),
par.id(), 0, par.size()));
-
+
change = Change(Change::UNCHANGED);
} else
change = Change(Change::INSERTED, bp.author_map[aid], ct);
} else if (token == "\\change_deleted") {
lex.eatLine();
std::istringstream is(lex.getString());
- int aid;
+ unsigned int aid;
lyx::time_type ct;
is >> aid >> ct;
if (aid >= bp.author_map.size()) {
buf.error(ErrorItem(_("Change tracking error"),
bformat(_("Unknown author index for deletion: %1$d\n"), aid),
par.id(), 0, par.size()));
-
+
change = Change(Change::UNCHANGED);
} else
change = Change(Change::DELETED, bp.author_map[aid], ct);
switch (layout->margintype) {
case MARGIN_DYNAMIC:
if (!layout->leftmargin.empty())
- l_margin += font_metrics::signedWidth(layout->leftmargin,
+ l_margin += font_metrics::signedWidth(layout->leftmargin,
params.getFont());
if (!par.getLabelstring().empty()) {
l_margin += font_metrics::signedWidth(layout->labelindent,
{
//lyxerr << "LyXText::cursorY: boundary: " << boundary << std::endl;
Paragraph const & par = getPar(sl.pit());
+ if (par.rows().empty())
+ return 0;
+
int h = 0;
h -= pars_[0].rows()[0].ascent();
for (pit_type pit = 0; pit < sl.pit(); ++pit)