#include "LyX.h"
-#include "Color.h"
-#include "ConverterCache.h"
-#include "Buffer.h"
#include "buffer_funcs.h"
+#include "Buffer.h"
#include "BufferList.h"
+#include "CmdDef.h"
+#include "Color.h"
+#include "ConverterCache.h"
#include "Converter.h"
#include "CutAndPaste.h"
-#include "debug.h"
#include "Encoding.h"
#include "ErrorList.h"
#include "Format.h"
-#include "gettext.h"
#include "KeyMap.h"
-#include "CmdDef.h"
#include "Language.h"
-#include "Session.h"
+#include "Lexer.h"
#include "LyXAction.h"
#include "LyXFunc.h"
-#include "Lexer.h"
#include "LyXRC.h"
+#include "MenuBackend.h"
#include "ModuleList.h"
+#include "Mover.h"
#include "Server.h"
#include "ServerSocket.h"
+#include "Session.h"
#include "TextClassList.h"
-#include "MenuBackend.h"
-#include "Messages.h"
-#include "Mover.h"
#include "ToolbarBackend.h"
#include "frontends/alert.h"
#include "frontends/Application.h"
+#include "support/debug.h"
#include "support/environment.h"
+#include "support/ExceptionMessage.h"
#include "support/filetools.h"
+#include "support/gettext.h"
#include "support/lstrings.h"
#include "support/lyxlib.h"
-#include "support/ExceptionMessage.h"
+#include "support/Messages.h"
#include "support/os.h"
#include "support/Package.h"
#include "support/Path.h"
///
BufferList buffer_list_;
///
- boost::scoped_ptr<KeyMap> toplevel_keymap_;
+ KeyMap toplevel_keymap_;
///
- boost::scoped_ptr<CmdDef> toplevel_cmddef_;
+ CmdDef toplevel_cmddef_;
///
boost::scoped_ptr<Server> lyx_server_;
///
KeyMap & LyX::topLevelKeymap()
{
- BOOST_ASSERT(pimpl_->toplevel_keymap_.get());
- return *pimpl_->toplevel_keymap_.get();
+ return pimpl_->toplevel_keymap_;
}
CmdDef & LyX::topLevelCmdDef()
{
- BOOST_ASSERT(pimpl_->toplevel_cmddef_.get());
- return *pimpl_->toplevel_cmddef_.get();
+ return pimpl_->toplevel_cmddef_;
}
KeyMap const & LyX::topLevelKeymap() const
{
- BOOST_ASSERT(pimpl_->toplevel_keymap_.get());
- return *pimpl_->toplevel_keymap_.get();
+ return pimpl_->toplevel_keymap_;
}
// close buffers first
pimpl_->buffer_list_.closeAll();
+ // register session changes and shutdown server and socket
+ if (use_gui) {
+ if (pimpl_->session_)
+ pimpl_->session_->writeFile();
+ pimpl_->session_.reset();
+ pimpl_->lyx_server_.reset();
+ pimpl_->lyx_socket_.reset();
+ }
+
// do any other cleanup procedures now
if (package().temp_dir() != package().system_temp_dir()) {
LYXERR(Debug::INFO, "Deleting tmp dir "
}
}
- if (use_gui) {
- if (pimpl_->session_)
- pimpl_->session_->writeFile();
- pimpl_->session_.reset();
- pimpl_->lyx_server_.reset();
- pimpl_->lyx_socket_.reset();
- }
-
// Kill the application object before exiting. This avoids crashes
// when exiting on Linux.
if (pimpl_->application_)
//setGuiLanguage(lyxrc.gui_language);
// Set up command definitions
- pimpl_->toplevel_cmddef_.reset(new CmdDef);
- pimpl_->toplevel_cmddef_->read(lyxrc.def_file);
+ pimpl_->toplevel_cmddef_.read(lyxrc.def_file);
// Set up bindings
- pimpl_->toplevel_keymap_.reset(new KeyMap);
- pimpl_->toplevel_keymap_->read("site");
- pimpl_->toplevel_keymap_->read(lyxrc.bind_file);
+ pimpl_->toplevel_keymap_.read("site");
+ pimpl_->toplevel_keymap_.read(lyxrc.bind_file);
// load user bind file user.bind
- pimpl_->toplevel_keymap_->read("user");
+ pimpl_->toplevel_keymap_.read("user");
- pimpl_->lyxfunc_.initKeySequences(pimpl_->toplevel_keymap_.get());
+ pimpl_->lyxfunc_.initKeySequences(&pimpl_->toplevel_keymap_);
// Read menus
if (!readUIFile(lyxrc.ui_file))