From e61643b43b962f93c3d1d704e4a4a8e8ac70b5e1 Mon Sep 17 00:00:00 2001 From: Abdelrazak Younes Date: Mon, 14 Jul 2008 08:48:25 +0000 Subject: [PATCH] Fix again http://bugzilla.lyx.org/show_bug.cgi?id=5010 git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25598 a592a061-630c-0410-9148-cb99ea01b6c8 --- src/CutAndPaste.cpp | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/src/CutAndPaste.cpp b/src/CutAndPaste.cpp index 3b54dc890a..eb70bb8e1e 100644 --- a/src/CutAndPaste.cpp +++ b/src/CutAndPaste.cpp @@ -17,6 +17,7 @@ #include "Buffer.h" #include "buffer_funcs.h" +#include "BufferList.h" #include "BufferParams.h" #include "BufferView.h" #include "Changes.h" @@ -365,20 +366,17 @@ void putClipboard(ParagraphList const & paragraphs, // 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. - // FIXME: this cannot be static because it gets destructed after the main - // LyX singleton is destroyed and the code is just not ready for that yet! - //static Buffer buffer("", false); - Buffer buffer("", false); - buffer.setUnnamed(true); - buffer.paragraphs() = paragraphs; - buffer.params().setDocumentClass(docclass); + static Buffer * buffer = theBufferList().newBuffer(""); + buffer->setUnnamed(true); + buffer->paragraphs() = paragraphs; + buffer->params().setDocumentClass(docclass); ostringstream lyx; - if (buffer.write(lyx)) + if (buffer->write(lyx)) theClipboard().put(lyx.str(), plaintext); else theClipboard().put(string(), plaintext); // Save that memory - buffer.paragraphs().clear(); + buffer->paragraphs().clear(); } -- 2.39.2