From 70b373514bb4f0fc921b17be82c053c13753404c Mon Sep 17 00:00:00 2001 From: Ivailo Monev Date: Sat, 1 Jul 2023 12:18:24 +0300 Subject: [PATCH] kio: stop listing before anything else in KDirLister::openUrl() Signed-off-by: Ivailo Monev --- kio/kio/kdirlister.cpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/kio/kio/kdirlister.cpp b/kio/kio/kdirlister.cpp index 9c58ebc1..9cf70a11 100644 --- a/kio/kio/kdirlister.cpp +++ b/kio/kio/kdirlister.cpp @@ -230,12 +230,10 @@ KDirLister::~KDirLister() bool KDirLister::openUrl(const KUrl &url, OpenUrlFlags flags) { Q_UNUSED(flags); - kDebug(7003) << "opening" << url << flags; - if (!url.isValid()) { - // this happens a lot, invalid starting directory as URL - return false; - } + stop(); + + kDebug(7003) << "opening" << url << flags; d->url = url; d->allItems.clear(); if (!d->filteredItems.isEmpty()) { @@ -244,6 +242,10 @@ bool KDirLister::openUrl(const KUrl &url, OpenUrlFlags flags) } emit clear(); if (d->autoErrorHandling) { + if (!url.isValid()) { + KMessageBox::error(d->window, i18n("Malformed URL\n%1", url.prettyUrl())); + return false; + } if (!KProtocolManager::supportsListing(url)) { KMessageBox::error(d->window, i18n("URL cannot be listed\n%1", url.prettyUrl())); return false;