// This shouldn't matter here, however, as we've already invoked
// emergencyCleanup.
+ docstring msg;
switch (err_sig) {
#ifdef SIGHUP
case SIGHUP:
- lyxerr << "\nlyx: SIGHUP signal caught\nBye." << endl;
+ msg = _("SIGHUP signal caught!\nBye.");
break;
#endif
case SIGFPE:
- lyxerr << "\nlyx: SIGFPE signal caught\nBye." << endl;
+ msg = _("SIGFPE signal caught!\nBye.");
break;
case SIGSEGV:
- lyxerr << "\nlyx: SIGSEGV signal caught\n"
- "Sorry, you have found a bug in LyX. "
+ msg = _("SIGSEGV signal caught!\n"
+ "Sorry, you have found a bug in LyX, "
+ "hope you have not lost any data.\n"
"Please read the bug-reporting instructions "
- "in Help->Introduction and send us a bug report, "
- "if necessary. Thanks !\nBye." << endl;
+ "in 'Help->Introduction' and send us a bug report, "
+ "if necessary. Thanks !\nBye.");
break;
case SIGINT:
case SIGTERM:
break;
}
+ if (!msg.empty()) {
+ lyxerr << "\nlyx: " << msg << endl;
+ // try to make a GUI message
+ Alert::error(_("LyX crashed!"), msg);
+ }
+
// Deinstall the signal handlers
#ifdef SIGHUP
signal(SIGHUP, SIG_DFL);
#ifdef SIGHUP
if (err_sig == SIGSEGV ||
- (err_sig != SIGHUP && !getEnv("LYXDEBUG").empty()))
+ (err_sig != SIGHUP && !getEnv("LYXDEBUG").empty())) {
+#else
+ if (err_sig == SIGSEGV || !getEnv("LYXDEBUG").empty()) {
+#endif
+#ifdef _MSC_VER
+ // with abort() it crashes again.
+ exit(err_sig);
#else
- if (err_sig == SIGSEGV || !getEnv("LYXDEBUG").empty())
-#endif
abort();
+#endif
+ }
+
exit(0);
}
"\t-i [--import] fmt file.xxx\n"
" where fmt is the import format of choice\n"
" and file.xxx is the file to be imported.\n"
- "\t--batch execute commands and exit\n"
+ "\t-batch execute commands without launching GUI and exit.\n"
"\t-version summarize version and build info\n"
"Check the LyX man page for more details.")) << endl;
exit(0);
cmdmap["-i"] = parse_import;
cmdmap["--import"] = parse_import;
cmdmap["-geometry"] = parse_geometry;
- cmdmap["--batch"] = parse_batch;
+ cmdmap["-batch"] = parse_batch;
for (int i = 1; i < argc; ++i) {
map<string, cmd_helper>::const_iterator it
}
-Messages & getMessages(string const & language)
+Messages const & getMessages(string const & language)
{
LASSERT(singleton_, /**/);
return singleton_->messages(language);
}
-Messages & getGuiMessages()
+Messages const & getGuiMessages()
{
LASSERT(singleton_, /**/);
return singleton_->pimpl_->messages_["GUI"];