X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fbuffer_funcs.cpp;h=6e8e612f94480f6c191a88de63209102359fdab1;hb=0362c6aae73c293d1c20277c12d362acfe0b2ef6;hp=1d90fa47775b1633c7202e567678afaa86abe9e5;hpb=e69b723bf9d2e2d8bbd855cac164be4a1a24035e;p=lyx.git diff --git a/src/buffer_funcs.cpp b/src/buffer_funcs.cpp index 1d90fa4777..6e8e612f94 100644 --- a/src/buffer_funcs.cpp +++ b/src/buffer_funcs.cpp @@ -80,7 +80,14 @@ Buffer * checkAndLoadLyXFile(FileName const & filename) return checkAndLoadLyXFile(filename); } - if (filename.isReadableFile()) { + if (filename.exists()) { + if (!filename.isReadableFile()) { + docstring text = bformat(_("The file %1$s exists but is not " + "readable by the current user."), + from_utf8(filename.absFilename())); + Alert::error(_("File not readable!"), text); + return 0; + } Buffer * b = theBufferList().newBuffer(filename.absFilename()); if (!b) // Buffer creation is not possible. @@ -188,12 +195,13 @@ int countChars(DocIterator const & from, DocIterator const & to, bool with_blank int chars = 0; int blanks = 0; for (DocIterator dit = from ; dit != to ; dit.forwardPos()) { + + if (!dit.inTexted()) continue; Paragraph const & par = dit.paragraph(); pos_type const pos = dit.pos(); - if (dit.inTexted() && pos != dit.lastpos() && !par.isDeleted(pos)) { - if (par.isInset(pos)) { - Inset const * ins = par.getInset(pos); + if (pos != dit.lastpos() && !par.isDeleted(pos)) { + if (Inset const * ins = par.getInset(pos)) { if (ins->isLetter()) ++chars; else if (with_blanks && ins->isSpace()) @@ -286,7 +294,7 @@ bool needEnumCounterReset(ParIterator const & it) // set the label of a paragraph. This includes the counters. void setLabel(Buffer const & buf, ParIterator & it) { - TextClass const & textclass = buf.params().getTextClass(); + TextClass const & textclass = buf.params().textClass(); Paragraph & par = it.paragraph(); LayoutPtr const & layout = par.layout(); Counters & counters = textclass.counters(); @@ -474,7 +482,7 @@ void updateLabels(Buffer const & buf, bool childonly) { Buffer const * const master = buf.masterBuffer(); // Use the master text class also for child documents - TextClass const & textclass = master->params().getTextClass(); + TextClass const & textclass = master->params().textClass(); if (!childonly) { // If this is a child document start with the master