diff --git a/taskbusplatform/watchdog/tbwatchdog.cpp b/taskbusplatform/watchdog/tbwatchdog.cpp index 3000f9e410c64b2f1ea8249b871b4f1f14645b7c..e20d73f351ca8d1ff9e61def7dc0b1e9525ff328 100644 --- a/taskbusplatform/watchdog/tbwatchdog.cpp +++ b/taskbusplatform/watchdog/tbwatchdog.cpp @@ -2,6 +2,7 @@ #include #include #include +#include static bool g_tb_break = false; #ifdef WIN32 #include @@ -31,7 +32,7 @@ void my_handler(int s){ } #endif -static tbWatchDog g_tb_watch_dog_; +QSharedPointer g_tb_watch_dog_; tbWatchDog::tbWatchDog(QObject *parent) :QObject(parent) @@ -116,6 +117,8 @@ QVector tbWatchDog::get_info() tbWatchDog & tb_watch_dog() { - return g_tb_watch_dog_; + if (!g_tb_watch_dog_) + g_tb_watch_dog_ = QSharedPointer( new tbWatchDog()); + return *g_tb_watch_dog_; }