}
+Buffer * BufferList::newInternalBuffer(string const & s)
+{
+ Buffer * const buf = createNewBuffer(s, false);
+ if (buf) {
+ buf->setInternal(true);
+ binternal.push_back(buf);
+ }
+ return buf;
+}
+
+
Buffer * BufferList::newBuffer(string const & s, bool const ronly)
+{
+ Buffer * const buf = createNewBuffer(s, ronly);
+ if (buf) {
+ LYXERR(Debug::INFO, "Assigning to buffer " << bstore.size());
+ bstore.push_back(buf);
+ }
+ return buf;
+}
+
+
+Buffer * BufferList::createNewBuffer(string const & s, bool ronly)
{
auto_ptr<Buffer> tmpbuf;
try {
}
}
tmpbuf->params().useClassDefaults();
- if (tmpbuf->isInternal()) {
- binternal.push_back(tmpbuf.get());
- } else {
- LYXERR(Debug::INFO, "Assigning to buffer " << bstore.size());
- bstore.push_back(tmpbuf.get());
- }
return tmpbuf.release();
}
iterator end();
const_iterator end() const;
- /// create a new buffer
+ /// create a new buffer and add it to the buffer list
/// \return 0 if the Buffer creation is not possible for whatever reason.
Buffer * newBuffer(std::string const & s, bool ronly = false);
+ /// create an internal buffer and add it to the internal buffer list
+ /// \return 0 if the Buffer creation is not possible for whatever reason.
+ Buffer * newInternalBuffer(std::string const & s);
+
/// delete a buffer
void release(Buffer * b);
//@}
private:
+ /// create a new buffer
+ /// \return 0 if the Buffer creation is not possible for whatever reason.
+ Buffer * createNewBuffer(std::string const & s, bool ronly);
+
/// noncopiable
BufferList(BufferList const &);
void operator=(BufferList const &);
// a DocumentClass, via new, that is never deleted. If we were to go to
// some kind of garbage collection there, or a shared_ptr, then this
// would not be needed.
- static Buffer * buffer = theBufferList().newBuffer(
+ static Buffer * buffer = theBufferList().newInternalBuffer(
FileName::tempName("clipboard.internal").absFileName());
- buffer->setInternal(true);
buffer->setUnnamed(true);
buffer->paragraphs() = paragraphs;
buffer->inset().setBuffer(*buffer);
EmbeddedWorkArea::EmbeddedWorkArea(QWidget * w): GuiWorkArea(w)
{
- buffer_ = theBufferList().newBuffer(
+ buffer_ = theBufferList().newInternalBuffer(
support::FileName::tempName("embedded.internal").absFileName());
- buffer_->setInternal(true);
buffer_->setUnnamed(true);
buffer_->setFullyLoaded(true);
setBuffer(*buffer_);