]> git.lyx.org Git - lyx.git/blobdiff - src/LyX.cpp
GuiCharacter: INHERIT is OFF for the tristate buttons.
[lyx.git] / src / LyX.cpp
index f0fc71cfe955654c8ec4b00b1d96403382f11b8b..4e97f7ae64b92286ef5aa0a3152349942c1f2e32 100644 (file)
@@ -150,7 +150,7 @@ void showFileError(string const & error)
                           "Please check your installation."), from_utf8(error)));
 }
 
-} // namespace anon
+} // namespace
 
 /// The main application class private implementation.
 struct LyX::Impl {
@@ -192,7 +192,7 @@ struct LyX::Impl {
        Converters converters_;
        /// The system converters after reading lyxrc.defaults.
        Converters system_converters_;
-       
+
        /// Global format information
        Formats formats_;
        /// The system formats after reading lyxrc.defaults.
@@ -394,7 +394,7 @@ int LyX::exec(int & argc, char * argv[])
                        FileName(package().temp_dir().absFileName() + "/lyxsocket")));
 
        // Start the real execution loop.
-       if (!theServer().deferredLoadingToOtherInstance())
+       if (!pimpl_->lyx_server_->deferredLoadingToOtherInstance())
                exit_status = pimpl_->application_->exec();
        else if (!pimpl_->files_to_load_.empty()) {
                vector<string>::const_iterator it = pimpl_->files_to_load_.begin();
@@ -419,8 +419,12 @@ void LyX::prepareExit()
        // Write the index file of the converter cache
        ConverterCache::get().writeIndex();
 
-       // close buffers first
-       pimpl_->buffer_list_.closeAll();
+       // closing buffer may throw exceptions, but we ignore them since we
+       // are quitting.
+       try {
+               // close buffers first
+               pimpl_->buffer_list_.closeAll();
+       } catch (ExceptionMessage const &) {}
 
        // register session changes and shutdown server and socket
        if (use_gui) {
@@ -512,7 +516,7 @@ int LyX::execWithoutGui(int & argc, char * argv[])
        }
 
        // Used to keep track of which buffers were explicitly loaded by user request.
-       // This is necessary because master and child document buffers are loaded, even 
+       // This is necessary because master and child document buffers are loaded, even
        // if they were not named on the command line. We do not want to dispatch to
        // those.
        vector<Buffer *> command_line_buffers;
@@ -771,7 +775,7 @@ namespace {
                        return std::string(line, nameLen);
                }
        }
-}
+} // namespace
 
 void cleanDuplicateEnvVars()
 {
@@ -865,7 +869,7 @@ bool LyX::init()
 #endif
 
        lyxrc.tempdir_path = package().temp_dir().absFileName();
-       lyxrc.document_path = ".";
+       lyxrc.document_path = package().document_dir().absFileName();
 
        if (lyxrc.example_path.empty()) {
                lyxrc.example_path = addPath(package().system_support().absFileName(),
@@ -1057,7 +1061,8 @@ bool LyX::queryUserLyXDir(bool explicit_userdir)
                        || configFileNeedsUpdate("lyxmodules.lst")
                        || configFileNeedsUpdate("textclass.lst")
                        || configFileNeedsUpdate("packages.lst")
-                       || configFileNeedsUpdate("lyxciteengines.lst");
+                       || configFileNeedsUpdate("lyxciteengines.lst")
+                       || configFileNeedsUpdate("xtemplates.lst");
        }
 
        first_start = !explicit_userdir;
@@ -1379,7 +1384,7 @@ int parse_force(string const & arg, string const &, string &)
 }
 
 
-} // namespace anon
+} // namespace
 
 
 void LyX::easyParse(int & argc, char * argv[])