summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/windows
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2016-09-05 06:39:30 +0200
committerLiang Qi <liang.qi@qt.io>2016-09-05 13:57:12 +0200
commit657c2bfbeceda3faa2c7a76b4ccec6a65a3445a2 (patch)
tree83e0a1dab04afb291e181bb8fb6152ba96678795 /src/plugins/platforms/windows
parent676129d7ee57347798683d444823e7723776d8ec (diff)
parentb94111116f09a6e48741d35cf7abea47af99ef26 (diff)
Merge remote-tracking branch 'origin/5.6' into 5.7
Conflicts: tests/auto/testlib/selftests/generate_expected_output.py Change-Id: If856162abf9a24ae2c9946d336a7d1da03520fa7
Diffstat (limited to 'src/plugins/platforms/windows')
-rw-r--r--src/plugins/platforms/windows/qwindowsdialoghelpers.cpp13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/plugins/platforms/windows/qwindowsdialoghelpers.cpp b/src/plugins/platforms/windows/qwindowsdialoghelpers.cpp
index d5e5f87e5c..817728dca2 100644
--- a/src/plugins/platforms/windows/qwindowsdialoghelpers.cpp
+++ b/src/plugins/platforms/windows/qwindowsdialoghelpers.cpp
@@ -1050,12 +1050,15 @@ void QWindowsNativeFileDialogBase::setDirectory(const QUrl &directory)
QString QWindowsNativeFileDialogBase::directory() const
{
+ QString result;
#ifndef Q_OS_WINCE
IShellItem *item = 0;
- if (m_fileDialog && SUCCEEDED(m_fileDialog->GetFolder(&item)) && item)
- return QWindowsNativeFileDialogBase::itemPath(item);
+ if (m_fileDialog && SUCCEEDED(m_fileDialog->GetFolder(&item)) && item) {
+ result = QWindowsNativeFileDialogBase::itemPath(item);
+ item->Release();
+ }
#endif
- return QString();
+ return result;
}
void QWindowsNativeFileDialogBase::doExec(HWND owner)
@@ -1520,8 +1523,10 @@ QList<QUrl> QWindowsNativeSaveFileDialog::selectedFiles() const
QList<QUrl> result;
IShellItem *item = 0;
const HRESULT hr = fileDialog()->GetCurrentSelection(&item);
- if (SUCCEEDED(hr) && item)
+ if (SUCCEEDED(hr) && item) {
result.push_back(QUrl::fromLocalFile(QWindowsNativeSaveFileDialog::itemPath(item)));
+ item->Release();
+ }
return result;
}