Introduce isBufferValid() method now, that returns true also for cloned

Buffers. Use it, as well.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33679 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
Richard Heck 2010-03-08 19:07:05 +00:00
parent a2e06a3c15
commit 8a6b77bfe1
4 changed files with 14 additions and 3 deletions

View File

@ -204,6 +204,13 @@ bool Inset::isBufferLoaded() const
}
bool Inset::isBufferValid() const
{
return buffer_
&& (isBufferLoaded() || buffer_->isClone());
}
docstring Inset::name() const
{
return from_ascii("unknown");

View File

@ -109,8 +109,11 @@ public:
virtual Buffer const & buffer() const;
/// Returns true if buffer_ actually points to a Buffer that has
/// been loaded into LyX and is still open. Note that this will
/// always return false for cloned Buffers.
/// always return false for cloned Buffers. If you want to allow
/// for the case of cloned Buffers, use isBufferValid().
bool isBufferLoaded() const;
/// Returns true if this is a loaded buffer or a cloned buffer.
bool isBufferValid() const;
/// initialize view for this inset.
/**

View File

@ -185,7 +185,8 @@ void InsetQuotes::parseString(string const & s)
docstring InsetQuotes::displayString() const
{
Language const * loclang = isBufferLoaded() ? buffer().params().language : 0;
Language const * loclang =
isBufferValid() ? buffer().params().language : 0;
int const index = quote_index[side_][language_];
docstring retdisp = docstring(1, display_quote_char[times_][index]);

View File

@ -471,7 +471,7 @@ static docstring latexString(InsetMathHull const & inset)
// first time as a whole, and the second time only the inner math.
// In this last case inset.buffer() would be invalid.
static Encoding const * encoding = 0;
if (inset.isBufferLoaded())
if (inset.isBufferValid())
encoding = &(inset.buffer().params().encoding());
WriteStream wi(ls, false, true, WriteStream::wsPreview, encoding);
inset.write(wi);