diff --git a/qt/i2pd_qt/.gitignore b/qt/i2pd_qt/.gitignore index 3abca1bd..f1d57c58 100644 --- a/qt/i2pd_qt/.gitignore +++ b/qt/i2pd_qt/.gitignore @@ -6,4 +6,6 @@ i2pd_qt Makefile* *.stash object_script.* -i2pd_qt_plugin_import.cpp \ No newline at end of file +i2pd_qt_plugin_import.cpp +i2pd_qt.pro.autosave* + diff --git a/qt/i2pd_qt/DaemonQT.cpp b/qt/i2pd_qt/DaemonQT.cpp index f5e6d62b..1e45c583 100644 --- a/qt/i2pd_qt/DaemonQT.cpp +++ b/qt/i2pd_qt/DaemonQT.cpp @@ -11,6 +11,8 @@ #include #include +//#define DEBUG_WITH_DEFAULT_LOGGING (1) + namespace i2p { namespace qt @@ -151,10 +153,16 @@ namespace qt int result; { - std::shared_ptr logstreamptr=std::make_shared(); + std::shared_ptr logstreamptr= +#ifdef DEBUG_WITH_DEFAULT_LOGGING + nullptr +#else + std::make_shared() +#endif + ; //TODO move daemon init deinit to a bg thread DaemonQTImpl daemon; - (*logstreamptr) << "Initialising the daemon..." << std::endl; + if(logstreamptr) (*logstreamptr) << "Initialising the daemon..." << std::endl; bool daemonInitSuccess = daemon.init(argc, argv, logstreamptr); if(!daemonInitSuccess) { diff --git a/qt/i2pd_qt/i2pd_qt.pro b/qt/i2pd_qt/i2pd_qt.pro index 9a978731..51aa4246 100644 --- a/qt/i2pd_qt/i2pd_qt.pro +++ b/qt/i2pd_qt/i2pd_qt.pro @@ -5,7 +5,12 @@ greaterThan(QT_MAJOR_VERSION, 4): QT += widgets TARGET = i2pd_qt TEMPLATE = app QMAKE_CXXFLAGS *= -std=c++11 -Wno-unused-parameter -Wno-maybe-uninitialized -DEFINES += USE_UPNP + +# For now, disable UPnP which currently crashes on Stop() -- https://github.com/PurpleI2P/i2pd/issues/1387 +#DEFINES += USE_UPNP +DEFINES -= USE_UPNP + +debug: DEFINES += DEBUG_WITH_DEFAULT_LOGGING SOURCES += DaemonQT.cpp mainwindow.cpp \ ../../libi2pd/api.cpp \ diff --git a/qt/i2pd_qt/logviewermanager.cpp b/qt/i2pd_qt/logviewermanager.cpp index 30fc904a..823956b2 100644 --- a/qt/i2pd_qt/logviewermanager.cpp +++ b/qt/i2pd_qt/logviewermanager.cpp @@ -18,7 +18,7 @@ namespace logviewer { QString Worker::pollAndShootATimerForInfiniteRetries() { std::shared_ptr logStream=logViewerManager.getLogStream(); - assert(logStream!=nullptr); + if(!logStream)return ""; std::streamsize MAX_SZ=64*1024; char*buf=(char*)malloc(MAX_SZ*sizeof(char)); if(buf==nullptr)return "";