1
0
mirror of https://github.com/PurpleI2P/i2pd-qt.git synced 2025-02-03 18:24:19 +00:00

Assorted fixes

* Fix for wrong QSharedPointer usage
* Catch exceptions from Daemon
This commit is contained in:
nonlin-lin-chaos-order-etc-etal 2022-12-25 03:31:17 +08:00
parent d5690c6280
commit 7d70ace5a2
4 changed files with 15 additions and 16 deletions

View File

@ -25,40 +25,40 @@ namespace qt
void Worker::startDaemon() void Worker::startDaemon()
{ {
qDebug("Performing daemon start..."); qDebug("Performing daemon start...");
//try{ try{
m_Daemon.start(); m_Daemon.start();
qDebug("Daemon started."); qDebug("Daemon started.");
emit resultReady(false, ""); emit resultReady(false, "");
/*}catch(std::exception ex){ }catch(std::exception& ex){
emit resultReady(true, ex.what()); emit resultReady(true, ex.what());
}catch(...){ }catch(...){
emit resultReady(true, QObject::tr("Error: unknown exception")); emit resultReady(true, QObject::tr("Error: unknown exception"));
}*/ }
} }
void Worker::restartDaemon() void Worker::restartDaemon()
{ {
qDebug("Performing daemon restart..."); qDebug("Performing daemon restart...");
//try{ try{
m_Daemon.restart(); m_Daemon.restart();
qDebug("Daemon restarted."); qDebug("Daemon restarted.");
emit resultReady(false, ""); emit resultReady(false, "");
/*}catch(std::exception ex){ }catch(std::exception& ex){
emit resultReady(true, ex.what()); emit resultReady(true, ex.what());
}catch(...){ }catch(...){
emit resultReady(true, QObject::tr("Error: unknown exception")); emit resultReady(true, QObject::tr("Error: unknown exception"));
}*/ }
} }
void Worker::stopDaemon() { void Worker::stopDaemon() {
qDebug("Performing daemon stop..."); qDebug("Performing daemon stop...");
//try{ try{
m_Daemon.stop(); m_Daemon.stop();
qDebug("Daemon stopped."); qDebug("Daemon stopped.");
emit resultReady(false, ""); emit resultReady(false, "");
/*}catch(std::exception ex){ }catch(std::exception& ex){
emit resultReady(true, ex.what()); emit resultReady(true, ex.what());
}catch(...){ }catch(...){
emit resultReady(true, QObject::tr("Error: unknown exception")); emit resultReady(true, QObject::tr("Error: unknown exception"));
}*/ }
} }
Controller::Controller(DaemonQTImpl& daemon): Controller::Controller(DaemonQTImpl& daemon):

View File

@ -9,7 +9,7 @@
#include "mainwindow.h" #include "mainwindow.h"
SaverImpl::SaverImpl(MainWindow *mainWindowPtr_, QSharedPointer<QList<MainWindowItem*>> configItems_, QSharedPointer<std::map<std::string,TunnelConfig*>> tunnelConfigs_) : SaverImpl::SaverImpl(MainWindow *mainWindowPtr_, QList<MainWindowItem*>* configItems_, std::map<std::string,TunnelConfig*>* tunnelConfigs_) :
configItems(configItems_), tunnelConfigs(tunnelConfigs_), confpath(), tunconfpath(), mainWindowPtr(mainWindowPtr_) configItems(configItems_), tunnelConfigs(tunnelConfigs_), confpath(), tunconfpath(), mainWindowPtr(mainWindowPtr_)
{} {}

View File

@ -6,7 +6,6 @@
#include <QObject> #include <QObject>
#include "QList" #include "QList"
#include "QSharedPointer"
#include "mainwindow.h" #include "mainwindow.h"
#include "TunnelConfig.h" #include "TunnelConfig.h"
@ -18,14 +17,14 @@ class TunnelConfig;
class SaverImpl : public Saver class SaverImpl : public Saver
{ {
public: public:
SaverImpl(MainWindow *mainWindowPtr_, QSharedPointer<QList<MainWindowItem*>> configItems_, QSharedPointer<std::map<std::string,TunnelConfig*>> tunnelConfigs_); SaverImpl(MainWindow *mainWindowPtr_, QList<MainWindowItem*>* configItems_, std::map<std::string,TunnelConfig*>* tunnelConfigs_);
virtual ~SaverImpl(); virtual ~SaverImpl();
virtual bool save(bool reloadAfterSave, const FocusEnum focusOn, const std::string& tunnelNameToFocus, QWidget* widgetToFocus); virtual bool save(bool reloadAfterSave, const FocusEnum focusOn, const std::string& tunnelNameToFocus, QWidget* widgetToFocus);
void setConfPath(QString& confpath_); void setConfPath(QString& confpath_);
void setTunnelsConfPath(QString& tunconfpath_); void setTunnelsConfPath(QString& tunconfpath_);
private: private:
QSharedPointer<QList<MainWindowItem*>> configItems; QList<MainWindowItem*>* configItems;
QSharedPointer<std::map<std::string,TunnelConfig*>> tunnelConfigs; std::map<std::string,TunnelConfig*>* tunnelConfigs;
QString confpath; QString confpath;
QString tunconfpath; QString tunconfpath;
MainWindow* mainWindowPtr; MainWindow* mainWindowPtr;

View File

@ -70,8 +70,8 @@ MainWindow::MainWindow(std::shared_ptr<std::iostream> logStream_, QWidget *paren
,tunnelsPageUpdateListener(this) ,tunnelsPageUpdateListener(this)
,saverPtr( ,saverPtr(
new SaverImpl(this, new SaverImpl(this,
QSharedPointer<QList<MainWindowItem*>>(&configItems), &configItems,
QSharedPointer<std::map<std::string,TunnelConfig*>>(&tunnelConfigs))) &tunnelConfigs))
{ {
assert(delayedSaveManagerPtr!=nullptr); assert(delayedSaveManagerPtr!=nullptr);