summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/cocoa/qcocoafiledialoghelper.mm
diff options
context:
space:
mode:
authorBradley T. Hughes <bradley.hughes@nokia.com>2012-05-09 13:55:25 +0200
committerQt by Nokia <qt-info@nokia.com>2012-05-10 06:56:20 +0200
commit5f43422ddf38e48f56b2ef39ee19bec2cb430ac4 (patch)
treeb8be9f5168345b2ff366881e0bc31f6f39fc4d8d /src/plugins/platforms/cocoa/qcocoafiledialoghelper.mm
parentd223b30c42a9a8d42a8dd35b2d93615e646b4f1e (diff)
qpa: Remove QPlatformDialogHelper::deleteNativeDialog()
This function isn't really needed. The QDialogPrivate destructor deletes the platform helper, so the QDialog destructor does not need to do it. Subclasses of QPlatformDialogHelper are now responsible for deleting any native resources they create. The one place in QFileDialog that needs to recreate the native dialog can simply recreate the helper. QDialogPrivate::deleteNativeDialog() now becomes QDialogPrivate::deletePlatformHelper(), which resets all state to allow the platform helper to be recreated. Change-Id: I58adfe8801e02e63b3cb4a9a3a0b8cb5b3c7b161 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Diffstat (limited to 'src/plugins/platforms/cocoa/qcocoafiledialoghelper.mm')
-rw-r--r--src/plugins/platforms/cocoa/qcocoafiledialoghelper.mm11
1 files changed, 4 insertions, 7 deletions
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();