#include "buffer.h"
#include "buffer_funcs.h"
+#include "bufferlist.h"
#include "converter.h"
#include "debug.h"
#include "encoding.h"
#include "lyxfunc.h"
#include "lyxlex.h"
#include "lyxrc.h"
+#include "lyxserver.h"
#include "lyxtextclasslist.h"
#include "MenuBackend.h"
#include "mover.h"
#include "support/environment.h"
#include "support/filetools.h"
+#include "support/fontutils.h"
#include "support/lyxlib.h"
#include "support/convert.h"
#include "support/os.h"
using std::endl;
using std::string;
using std::vector;
+using std::for_each;
#ifndef CXX_GLOBAL_CSTD
using std::exit;
// FIXME: We should not directly call exit(), since it only
// guarantees a return to the system, no application cleanup.
// This may cause troubles with not executed destructors.
- if (lyx_gui::use_gui)
- // lyx_gui::exit may return and only schedule the exit
- lyx_gui::exit(status);
+ if (lyx_gui::use_gui) {
+ theApp->exit(status);
+ // Restore original font resources after Application is destroyed.
+ lyx::support::restoreFontResources();
+ }
+
exit(status);
}
lyx::support::top_build_dir_is_one_level_up);
// Start the real execution loop.
- if (lyx_gui::use_gui)
+ if (lyx_gui::use_gui) {
+ // Force adding of font path _before_ Application is initialized
+ lyx::support::addFontResources();
return lyx_gui::exec(argc, argv);
+ }
else
return exec2(argc, argv);
}
height = 0;
}
// create the main window
- LyXView * view = lyx_gui::create_view(width, height, posx, posy, maximize);
+ LyXView * view = &theApp->createView(width, height, posx, posy, maximize);
+ ref().addLyXView(view);
// load files
for_each(files.begin(), files.end(),
// clear this list to save a few bytes of RAM
session_->clearLastOpenedFiles();
- return lyx_gui::start(view, batch_command);
+ return theApp->start(batch_command);
} else {
// Something went wrong above
quitLyX(false);