summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrea Diamantini <adjam7@gmail.com>2012-07-04 18:46:58 +0200
committerAndrea Diamantini <adjam7@gmail.com>2012-07-04 18:46:58 +0200
commitb66815cf34030ce5d57935eeaaac732ca69e2a78 (patch)
treee52c5c028badcf757559c3611845a093139f6ce2
parentSVN_SILENT made messages (.desktop file) (diff)
downloadrekonq-b66815cf34030ce5d57935eeaaac732ca69e2a78.tar.xz
break an eventual "recall" loop
This is needed in case rekonq has been associated with something it cannot properly handle BUG: 299056
-rw-r--r--src/protocolhandler.cpp2
-rw-r--r--src/webpage.cpp13
2 files changed, 15 insertions, 0 deletions
diff --git a/src/protocolhandler.cpp b/src/protocolhandler.cpp
index 7b6c9318..186b93d3 100644
--- a/src/protocolhandler.cpp
+++ b/src/protocolhandler.cpp
@@ -238,6 +238,8 @@ bool ProtocolHandler::postHandling(const QNetworkRequest &request, QWebFrame *fr
return true;
}
+
+ return false;
}
// we cannot handle this protocol in any way.
diff --git a/src/webpage.cpp b/src/webpage.cpp
index b4f6e03d..c028ee58 100644
--- a/src/webpage.cpp
+++ b/src/webpage.cpp
@@ -368,6 +368,19 @@ void WebPage::handleUnsupportedContent(QNetworkReply *reply)
return;
}
+ // NOTE
+ // This is needed in case rekonq has been associated with something it cannot
+ // properly handle (eg: xbel files, see BUG:299056). This way we break an eventual
+ // "recall" loop.
+ if (appService->exec().trimmed().startsWith() == QL1S("rekonq"))
+ {
+ isLocal
+ ? KMessageBox::sorry(view(), i18n("rekonq cannot properly handle this, sorry"))
+ : downloadUrl(reply->url());
+
+ return;
+ }
+
if (isLocal)
{
// Load outside local files