summaryrefslogtreecommitdiffstats
path: root/src/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins')
-rw-r--r--src/plugins/platforms/windows/qwindowsdialoghelpers.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/plugins/platforms/windows/qwindowsdialoghelpers.cpp b/src/plugins/platforms/windows/qwindowsdialoghelpers.cpp
index 6da7265cfd..1b17759b5f 100644
--- a/src/plugins/platforms/windows/qwindowsdialoghelpers.cpp
+++ b/src/plugins/platforms/windows/qwindowsdialoghelpers.cpp
@@ -967,7 +967,9 @@ void QWindowsNativeFileDialogBase::doExec(HWND owner)
const HRESULT hr = m_fileDialog->Show(owner);
QWindowsDialogs::eatMouseMove();
qCDebug(lcQpaDialogs) << '<' << __FUNCTION__ << " returns " << hex << hr;
- if (hr == S_OK) {
+ // Emit accepted() only if there is a result as otherwise UI hangs occur.
+ // For example, typing in invalid URLs results in empty result lists.
+ if (hr == S_OK && !m_data.selectedFiles().isEmpty()) {
emit accepted();
} else {
emit rejected();