diff options
author | Friedemann Kleint <Friedemann.Kleint@digia.com> | 2014-02-04 09:11:01 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-02-07 23:52:49 +0100 |
commit | 29804462f4f7205ba941973e209642dfc81a5f14 (patch) | |
tree | 73b631f49e303cfd9805c0de7fb613962825018d /src/plugins/platforms/windows/qwindowsdialoghelpers.h | |
parent | 59892468c95946ae3c3c3360e46d39bd62d8b9ea (diff) |
Windows file dialog: Clean up thread manually.
Do not use deleteLater() to delete the thread.
Task-number: QTBUG-36357
Change-Id: Ie7c87b92a7c73d5fbac01d4951d387ee2facd05c
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Diffstat (limited to 'src/plugins/platforms/windows/qwindowsdialoghelpers.h')
-rw-r--r-- | src/plugins/platforms/windows/qwindowsdialoghelpers.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/plugins/platforms/windows/qwindowsdialoghelpers.h b/src/plugins/platforms/windows/qwindowsdialoghelpers.h index 1501b02bd9..bcf9f544b5 100644 --- a/src/plugins/platforms/windows/qwindowsdialoghelpers.h +++ b/src/plugins/platforms/windows/qwindowsdialoghelpers.h @@ -52,6 +52,7 @@ QT_BEGIN_NAMESPACE class QFileDialog; class QDialog; +class QThread; class QWindowsNativeDialogBase; namespace QWindowsDialogs @@ -68,6 +69,7 @@ class QWindowsDialogHelperBase : public BaseClass Q_DISABLE_COPY(QWindowsDialogHelperBase) public: typedef QSharedPointer<QWindowsNativeDialogBase> QWindowsNativeDialogBasePtr; + ~QWindowsDialogHelperBase() { cleanupThread(); } virtual void exec(); virtual bool show(Qt::WindowFlags windowFlags, @@ -88,10 +90,12 @@ private: inline QWindowsNativeDialogBase *ensureNativeDialog(); inline void startDialogThread(); inline void stopTimer(); + void cleanupThread(); QWindowsNativeDialogBasePtr m_nativeDialog; HWND m_ownerWindow; int m_timerId; + QThread *m_thread; }; QT_END_NAMESPACE |