diff options
Diffstat (limited to 'src/plugins')
8 files changed, 24 insertions, 40 deletions
diff --git a/src/plugins/platforms/cocoa/qcocoacolordialoghelper.h b/src/plugins/platforms/cocoa/qcocoacolordialoghelper.h index 263ccdc086..aaa2e26fc4 100644 --- a/src/plugins/platforms/cocoa/qcocoacolordialoghelper.h +++ b/src/plugins/platforms/cocoa/qcocoacolordialoghelper.h @@ -54,7 +54,6 @@ public: virtual ~QCocoaColorDialogHelper(); void exec(); - void deleteNativeDialog(); bool show(Qt::WindowFlags windowFlags, Qt::WindowModality windowModality, QWindow *parent); void hide(); diff --git a/src/plugins/platforms/cocoa/qcocoacolordialoghelper.mm b/src/plugins/platforms/cocoa/qcocoacolordialoghelper.mm index 7d245c3db6..d617d1d210 100644 --- a/src/plugins/platforms/cocoa/qcocoacolordialoghelper.mm +++ b/src/plugins/platforms/cocoa/qcocoacolordialoghelper.mm @@ -343,7 +343,12 @@ QCocoaColorDialogHelper::QCocoaColorDialogHelper() : } QCocoaColorDialogHelper::~QCocoaColorDialogHelper() -{ } +{ + if (!mDelegate) + return; + [reinterpret_cast<QT_MANGLE_NAMESPACE(QNSColorPanelDelegate) *>(mDelegate) release]; + mDelegate = 0; +} void QCocoaColorDialogHelper::exec() { @@ -358,14 +363,6 @@ void QCocoaColorDialogHelper::exec() emit reject(); } -void QCocoaColorDialogHelper::deleteNativeDialog() -{ - if (!mDelegate) - return; - [reinterpret_cast<QT_MANGLE_NAMESPACE(QNSColorPanelDelegate) *>(mDelegate) release]; - mDelegate = 0; -} - bool QCocoaColorDialogHelper::show(Qt::WindowFlags, Qt::WindowModality windowModality, QWindow *parent) { if (windowModality == Qt::WindowModal) { diff --git a/src/plugins/platforms/cocoa/qcocoafiledialoghelper.h b/src/plugins/platforms/cocoa/qcocoafiledialoghelper.h index 76c4b87e11..9bdf3acd71 100644 --- a/src/plugins/platforms/cocoa/qcocoafiledialoghelper.h +++ b/src/plugins/platforms/cocoa/qcocoafiledialoghelper.h @@ -60,7 +60,6 @@ public: bool defaultNameFilterDisables() const; - void deleteNativeDialog(); bool show(Qt::WindowFlags windowFlags, Qt::WindowModality windowModality, QWindow *parent); void hide(); void setDirectory(const QString &directory); diff --git a/src/plugins/platforms/cocoa/qcocoafiledialoghelper.mm b/src/plugins/platforms/cocoa/qcocoafiledialoghelper.mm index ccf9482e4f..30f4cabfae 100644 --- a/src/plugins/platforms/cocoa/qcocoafiledialoghelper.mm +++ b/src/plugins/platforms/cocoa/qcocoafiledialoghelper.mm @@ -511,7 +511,10 @@ QCocoaFileDialogHelper::QCocoaFileDialogHelper() QCocoaFileDialogHelper::~QCocoaFileDialogHelper() { - + if (!mDelegate) + return; + [reinterpret_cast<QT_MANGLE_NAMESPACE(QNSOpenSavePanelDelegate) *>(mDelegate) release]; + mDelegate = 0; } void QCocoaFileDialogHelper::QNSOpenSavePanelDelegate_selectionChanged(const QString &newPath) @@ -602,12 +605,6 @@ QString QCocoaFileDialogHelper::selectedNameFilter() const return index != -1 ? options()->nameFilters().at(index) : QString(); } -void QCocoaFileDialogHelper::deleteNativeDialog() -{ - [reinterpret_cast<QT_MANGLE_NAMESPACE(QNSOpenSavePanelDelegate) *>(mDelegate) release]; - mDelegate = 0; -} - void QCocoaFileDialogHelper::hide() { hideCocoaFilePanel(); diff --git a/src/plugins/platforms/cocoa/qcocoafontdialoghelper.h b/src/plugins/platforms/cocoa/qcocoafontdialoghelper.h index 2e185b769a..8c041205a5 100644 --- a/src/plugins/platforms/cocoa/qcocoafontdialoghelper.h +++ b/src/plugins/platforms/cocoa/qcocoafontdialoghelper.h @@ -54,12 +54,10 @@ class QCocoaFontDialogHelper : public QPlatformFontDialogHelper { public: QCocoaFontDialogHelper(); - virtual ~QCocoaFontDialogHelper(); + ~QCocoaFontDialogHelper(); void exec(); - void deleteNativeDialog(); - bool show(Qt::WindowFlags windowFlags, Qt::WindowModality windowModality, QWindow *parent); void hide(); diff --git a/src/plugins/platforms/cocoa/qcocoafontdialoghelper.mm b/src/plugins/platforms/cocoa/qcocoafontdialoghelper.mm index a70953d0df..088f6265ca 100644 --- a/src/plugins/platforms/cocoa/qcocoafontdialoghelper.mm +++ b/src/plugins/platforms/cocoa/qcocoafontdialoghelper.mm @@ -362,7 +362,12 @@ QCocoaFontDialogHelper::QCocoaFontDialogHelper() : } QCocoaFontDialogHelper::~QCocoaFontDialogHelper() -{ } +{ + if (!mDelegate) + return; + [reinterpret_cast<QT_MANGLE_NAMESPACE(QNSFontPanelDelegate) *>(mDelegate) release]; + mDelegate = 0; +} void QCocoaFontDialogHelper::exec() { @@ -377,14 +382,6 @@ void QCocoaFontDialogHelper::exec() emit reject(); } -void QCocoaFontDialogHelper::deleteNativeDialog() -{ - if (!mDelegate) - return; - [reinterpret_cast<QT_MANGLE_NAMESPACE(QNSFontPanelDelegate) *>(mDelegate) release]; - mDelegate = 0; -} - bool QCocoaFontDialogHelper::show(Qt::WindowFlags, Qt::WindowModality windowModality, QWindow *parent) { if (windowModality == Qt::WindowModal) { diff --git a/src/plugins/platforms/windows/qwindowsdialoghelpers.cpp b/src/plugins/platforms/windows/qwindowsdialoghelpers.cpp index e1aae23b8c..e283848236 100644 --- a/src/plugins/platforms/windows/qwindowsdialoghelpers.cpp +++ b/src/plugins/platforms/windows/qwindowsdialoghelpers.cpp @@ -426,6 +426,12 @@ QWindowsDialogHelperBase<BaseClass>::QWindowsDialogHelperBase() : } template <class BaseClass> +QWindowsDialogHelperBase<BaseClass>::~QWindowsDialogHelperBase() +{ + delete m_nativeDialog; +} + +template <class BaseClass> QWindowsNativeDialogBase *QWindowsDialogHelperBase<BaseClass>::nativeDialog() const { if (!m_nativeDialog) { @@ -444,15 +450,6 @@ QWindowsNativeDialogBase *QWindowsDialogHelperBase<BaseClass>::ensureNativeDialo return m_nativeDialog; } -template <class BaseClass> -void QWindowsDialogHelperBase<BaseClass>::deleteNativeDialog() -{ - if (QWindowsContext::verboseDialogs) - qDebug("%s" , __FUNCTION__); - delete m_nativeDialog; - m_nativeDialog = 0; -} - /*! \class QWindowsDialogThread \brief Run a non-modal native dialog in a separate thread. diff --git a/src/plugins/platforms/windows/qwindowsdialoghelpers.h b/src/plugins/platforms/windows/qwindowsdialoghelpers.h index a8e0de0383..b3c83f6501 100644 --- a/src/plugins/platforms/windows/qwindowsdialoghelpers.h +++ b/src/plugins/platforms/windows/qwindowsdialoghelpers.h @@ -67,7 +67,6 @@ class QWindowsDialogHelperBase : public BaseClass public: virtual void exec(); - virtual void deleteNativeDialog(); virtual bool show(Qt::WindowFlags windowFlags, Qt::WindowModality windowModality, QWindow *parent); @@ -78,6 +77,7 @@ public: protected: QWindowsDialogHelperBase(); + ~QWindowsDialogHelperBase(); QWindowsNativeDialogBase *nativeDialog() const; private: |