From 7d70ace5a2d4d59c09e994ad3d10f7ddeaba9924 Mon Sep 17 00:00:00 2001 From: nonlin-lin-chaos-order-etc-etal Date: Sun, 25 Dec 2022 03:31:17 +0800 Subject: [PATCH] Assorted fixes * Fix for wrong QSharedPointer usage * Catch exceptions from Daemon --- src/DaemonQT.cpp | 18 +++++++++--------- src/SaverImpl.cpp | 2 +- src/SaverImpl.h | 7 +++---- src/mainwindow.cpp | 4 ++-- 4 files changed, 15 insertions(+), 16 deletions(-) diff --git a/src/DaemonQT.cpp b/src/DaemonQT.cpp index 1e45c58..e9bd592 100644 --- a/src/DaemonQT.cpp +++ b/src/DaemonQT.cpp @@ -25,40 +25,40 @@ namespace qt void Worker::startDaemon() { qDebug("Performing daemon start..."); - //try{ + try{ m_Daemon.start(); qDebug("Daemon started."); emit resultReady(false, ""); - /*}catch(std::exception ex){ + }catch(std::exception& ex){ emit resultReady(true, ex.what()); }catch(...){ emit resultReady(true, QObject::tr("Error: unknown exception")); - }*/ + } } void Worker::restartDaemon() { qDebug("Performing daemon restart..."); - //try{ + try{ m_Daemon.restart(); qDebug("Daemon restarted."); emit resultReady(false, ""); - /*}catch(std::exception ex){ + }catch(std::exception& ex){ emit resultReady(true, ex.what()); }catch(...){ emit resultReady(true, QObject::tr("Error: unknown exception")); - }*/ + } } void Worker::stopDaemon() { qDebug("Performing daemon stop..."); - //try{ + try{ m_Daemon.stop(); qDebug("Daemon stopped."); emit resultReady(false, ""); - /*}catch(std::exception ex){ + }catch(std::exception& ex){ emit resultReady(true, ex.what()); }catch(...){ emit resultReady(true, QObject::tr("Error: unknown exception")); - }*/ + } } Controller::Controller(DaemonQTImpl& daemon): diff --git a/src/SaverImpl.cpp b/src/SaverImpl.cpp index 4b22bf4..d0b49c1 100644 --- a/src/SaverImpl.cpp +++ b/src/SaverImpl.cpp @@ -9,7 +9,7 @@ #include "mainwindow.h" -SaverImpl::SaverImpl(MainWindow *mainWindowPtr_, QSharedPointer> configItems_, QSharedPointer> tunnelConfigs_) : +SaverImpl::SaverImpl(MainWindow *mainWindowPtr_, QList* configItems_, std::map* tunnelConfigs_) : configItems(configItems_), tunnelConfigs(tunnelConfigs_), confpath(), tunconfpath(), mainWindowPtr(mainWindowPtr_) {} diff --git a/src/SaverImpl.h b/src/SaverImpl.h index 84c20dd..c034078 100644 --- a/src/SaverImpl.h +++ b/src/SaverImpl.h @@ -6,7 +6,6 @@ #include #include "QList" -#include "QSharedPointer" #include "mainwindow.h" #include "TunnelConfig.h" @@ -18,14 +17,14 @@ class TunnelConfig; class SaverImpl : public Saver { public: - SaverImpl(MainWindow *mainWindowPtr_, QSharedPointer> configItems_, QSharedPointer> tunnelConfigs_); + SaverImpl(MainWindow *mainWindowPtr_, QList* configItems_, std::map* tunnelConfigs_); virtual ~SaverImpl(); virtual bool save(bool reloadAfterSave, const FocusEnum focusOn, const std::string& tunnelNameToFocus, QWidget* widgetToFocus); void setConfPath(QString& confpath_); void setTunnelsConfPath(QString& tunconfpath_); private: - QSharedPointer> configItems; - QSharedPointer> tunnelConfigs; + QList* configItems; + std::map* tunnelConfigs; QString confpath; QString tunconfpath; MainWindow* mainWindowPtr; diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index adc0099..020361d 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -70,8 +70,8 @@ MainWindow::MainWindow(std::shared_ptr logStream_, QWidget *paren ,tunnelsPageUpdateListener(this) ,saverPtr( new SaverImpl(this, - QSharedPointer>(&configItems), - QSharedPointer>(&tunnelConfigs))) + &configItems, + &tunnelConfigs)) { assert(delayedSaveManagerPtr!=nullptr);