diff --git a/Qss.cpp b/Qss.cpp index 360bf08..69366b4 100644 --- a/Qss.cpp +++ b/Qss.cpp @@ -1946,6 +1946,7 @@ void QssMaskWidget::paintEvent(QPaintEvent *event) } QSSASyncProcess::QSSASyncProcess(QWidget *parent) + :mFirst(true) { this->mParent = parent; } @@ -1959,9 +1960,11 @@ QSSASyncProcess::~QSSASyncProcess() int QSSASyncProcess::Start(void *p) { this->moveToThread(&mThread); - connect(this, SIGNAL(StartRun(void *)), this, SLOT(Run(void *))); - connect(&mThread, &QThread::finished, this, &QObject::deleteLater); - + if(mFirst){ + connect(this, SIGNAL(StartRun(void *)), this, SLOT(Run(void *))); + connect(&mThread, &QThread::finished, this, &QObject::deleteLater); + mFirst = false; + } mThread.start(); #ifdef QT_NO_EMIT StartRun(p); diff --git a/Qss.h b/Qss.h index a09cf00..4ce0e42 100644 --- a/Qss.h +++ b/Qss.h @@ -426,6 +426,7 @@ public slots: protected: QWidget *mParent; QThread mThread; + bool mFirst; }; #define tipBox(text) QssMessageBox::tips(text)