diff --git a/makespec/BUILDVERSION b/makespec/BUILDVERSION index b1fe233b..f8424b9e 100644 --- a/makespec/BUILDVERSION +++ b/makespec/BUILDVERSION @@ -1 +1 @@ -5540 +5541 diff --git a/src/core/handler/ConfigHandler.cpp b/src/core/handler/ConfigHandler.cpp index 085a5b2f..6c6b19e8 100644 --- a/src/core/handler/ConfigHandler.cpp +++ b/src/core/handler/ConfigHandler.cpp @@ -90,6 +90,7 @@ namespace Qv2ray::core::handler groupObject[key.toString()] = groups[key].toJson(); } StringToFile(JsonToString(groupObject), QV2RAY_CONFIG_DIR + "groups.json"); + RouteManager->SaveRoutes(); SaveGlobalSettings(); } diff --git a/src/core/handler/RouteHandler.cpp b/src/core/handler/RouteHandler.cpp index ac0c7890..c0f55b9e 100644 --- a/src/core/handler/RouteHandler.cpp +++ b/src/core/handler/RouteHandler.cpp @@ -15,6 +15,11 @@ namespace Qv2ray::core::handler } } + RouteHandler::~RouteHandler() + { + SaveRoutes(); + } + void RouteHandler::SaveRoutes() const { QJsonObject routingObject; diff --git a/src/core/handler/RouteHandler.hpp b/src/core/handler/RouteHandler.hpp index 67e97a77..8e3ca061 100644 --- a/src/core/handler/RouteHandler.hpp +++ b/src/core/handler/RouteHandler.hpp @@ -10,6 +10,7 @@ namespace Qv2ray::core::handler Q_OBJECT public: explicit RouteHandler(QObject *parent = nullptr); + ~RouteHandler(); void SaveRoutes() const; // QPair GetDNSSettings(const GroupRoutingId &id) const diff --git a/src/main.cpp b/src/main.cpp index 861b9df3..49a26273 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -413,8 +413,8 @@ int main(int argc, char *argv[]) { // Initialise Connection Handler PluginHost = new QvPluginHost(); - RouteManager = new RouteHandler(qApp); ConnectionManager = new QvConfigHandler(qApp); + RouteManager = new RouteHandler(qApp); #ifdef Q_OS_LINUX _qApp.setFallbackSessionManagementEnabled(false);