X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcore%2Fcoreapplication.cpp;h=2cdc5a6071643e213744b2b7835cfc637f25065f;hp=d92e46d9df30db2dcb1980e06bdae02fc54866f7;hb=b55d0de3c731948432ddb2851fe728c4edff374c;hpb=5c6804f291a63f978e328aeddcc8448e3443b45e diff --git a/src/core/coreapplication.cpp b/src/core/coreapplication.cpp index d92e46d9..2cdc5a60 100644 --- a/src/core/coreapplication.cpp +++ b/src/core/coreapplication.cpp @@ -21,8 +21,13 @@ #include "coreapplication.h" #include "core.h" +#include "logger.h" + +CoreApplicationInternal::CoreApplicationInternal() + : _coreCreated(false) +{ + Q_INIT_RESOURCE(sql); -CoreApplicationInternal::CoreApplicationInternal() { // put core-only arguments here CliParser *parser = Quassel::cliParser(); parser->addOption("port",'p', tr("The port quasselcore will listen at"), QString("4242")); @@ -33,8 +38,10 @@ CoreApplicationInternal::CoreApplicationInternal() { } CoreApplicationInternal::~CoreApplicationInternal() { - Core::saveState(); - Core::destroy(); + if(_coreCreated) { + Core::saveState(); + Core::destroy(); + } } bool CoreApplicationInternal::init() { @@ -51,6 +58,7 @@ bool CoreApplicationInternal::init() { } Core::instance(); // create and init the core + _coreCreated = true; if(!Quassel::isOptionSet("norestore")) { Core::restoreState(); @@ -60,9 +68,14 @@ bool CoreApplicationInternal::init() { /*****************************************************************************/ -CoreApplication::CoreApplication(int &argc, char **argv) : QCoreApplication(argc, argv), Quassel() { +CoreApplication::CoreApplication(int &argc, char **argv) + : QCoreApplication(argc, argv), + Quassel() +{ setRunMode(Quassel::CoreOnly); _internal = new CoreApplicationInternal(); + + qInstallMsgHandler(Logger::logMessage); } CoreApplication::~CoreApplication() {