]> git.lyx.org Git - features.git/commitdiff
Fix crash on exit because of static dummy Buffer.
authorAbdelrazak Younes <younes@lyx.org>
Thu, 28 Feb 2008 07:58:00 +0000 (07:58 +0000)
committerAbdelrazak Younes <younes@lyx.org>
Thu, 28 Feb 2008 07:58:00 +0000 (07:58 +0000)
* Inset::buffer(): replace dummy buffer with exception throwing.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23306 a592a061-630c-0410-9148-cb99ea01b6c8

src/insets/Inset.cpp

index a59a0e36f34dc51f4679df4d23ec58ddc4c38232..75982717049600910803ec9ccaebd60f90b297c1 100644 (file)
 
 #include "support/convert.h"
 #include "support/debug.h"
+#include "support/docstream.h"
+#include "support/ExceptionMessage.h"
 #include "support/gettext.h"
 
 #include <map>
 
 using namespace std;
+using namespace lyx::support;
 
 namespace lyx {
 
@@ -122,19 +125,15 @@ void Inset::setBuffer(Buffer & buffer)
 }
 
 
-static Buffer & theDummyBuffer()
-{
-       static Buffer dummyBuffer("nobuffer.lyx", true);
-       return dummyBuffer;
-}
-
-
 Buffer & Inset::buffer()
 {
-       if (buffer_)
-               return *buffer_;
-       LYXERR0("DUMMYBUFFER FOR " << lyxCode());
-       return theDummyBuffer();
+       if (!buffer_) {
+               odocstringstream s;
+               s << "LyX Code: " << lyxCode();
+               throw ExceptionMessage(WarningException, 
+                       from_ascii("Inset::buffer_ member not initialized!"), s.str());
+       }
+       return *buffer_;
 }