]> git.lyx.org Git - lyx.git/blobdiff - src/boost.cpp
Add active refs to non-active labels to brokenrefs toc
[lyx.git] / src / boost.cpp
index 75e775e6335c38eff3845a1384e1d6a74e63fb5f..646d4e4dfb3960c48e6ad6bf1be816fbba611a2d 100644 (file)
@@ -3,7 +3,7 @@
  * This file is part of LyX, the document processor.
  * Licence details can be found in the file COPYING.
  *
- * \author Lars Gullik Bjønnes
+ * \author Lars Gullik Bjønnes
  *
  * Full author contact details are available in file CREDITS.
  */
@@ -18,7 +18,7 @@
 
 #include <exception>
 #include <iomanip>
-#include <iostream>
+#include <ostream>
 
 using namespace std;
 using lyx::lyxerr;
@@ -28,14 +28,14 @@ namespace boost {
 #ifndef BOOST_NO_EXCEPTIONS
 void throw_exception(exception const & e)
 {
-       lyxerr << "Exception caught:\n" << e.diagnostic_information() << endl;
+       lyxerr << "Exception caught:\n" << e.what() << endl;
        LASSERT(false, /**/);
 }
 #endif
 
 
 void assertion_failed(char const * expr, char const * function,
-                     char const * file, long line)
+               char const * file, long line)
 {
        lyxerr << "Assertion triggered in " << function
               << " by failing check \"" << expr << "\""
@@ -47,4 +47,18 @@ void assertion_failed(char const * expr, char const * function,
        lyx::lyx_exit(1);
 }
 
+void assertion_failed_msg(char const * expr, char const * msg,
+               char const * function, char const * file, long line)
+{
+       lyxerr << "Assertion triggered in " << function
+              << " by failing check \"" << expr << "\""
+              << " with message \"" << msg << "\""
+              << " in file " << file << ":" << line << endl;
+
+       // FIXME: by default we exit here but we could also inform the user
+       // about the assertion and do the emergency cleanup without exiting.
+       // FIXME: do we have a list of exit codes defined somewhere?
+       lyx::lyx_exit(1);
+}
+
 } // namespace boost