}
}
- return saveBuffer(b, fname);
+ bool const saved = saveBuffer(b, fname);
+ if (saved)
+ b.reload();
+ return saved;
}
gv_->message(msg);
}
GuiViewPrivate::busyBuffers.insert(used_buffer);
+ Buffer * cloned_buffer = used_buffer->cloneFromMaster();
+ if (!cloned_buffer) {
+ Alert::error(_("Export Error"),
+ _("Error cloning the Buffer."));
+ return false;
+ }
QFuture<Buffer::ExportStatus> f = QtConcurrent::run(
asyncFunc,
used_buffer,
- used_buffer->cloneFromMaster(),
+ cloned_buffer,
format);
setPreviewFuture(f);
last_export_format = used_buffer->params().bufferFormat();
command = lyxrc.forward_search_pdf;
}
- int row = doc_buffer->texrow().getRowFromIdPos(bv->cursor().paragraph().id(), bv->cursor().pos());
+ DocIterator tmpcur = bv->cursor();
+ // Leave math first
+ while (tmpcur.inMathed())
+ tmpcur.pop_back();
+ int row = tmpcur.inMathed() ? 0 : doc_buffer->texrow().getRowFromIdPos(
+ tmpcur.paragraph().id(), tmpcur.pos());
LYXERR(Debug::ACTION, "Forward search: row:" << row
- << " id:" << bv->cursor().paragraph().id());
+ << " id:" << tmpcur.paragraph().id());
if (!row || command.empty()) {
dr.setMessage(_("Couldn't proceed."));
break;