Problem with frameworks 5.86.0 and Konqueror

Albert Astals Cid aacid at kde.org
Thu Sep 16 22:52:04 BST 2021


El dijous, 16 de setembre de 2021, a les 19:38:42 (CEST), Stefano Crocco va escriure:
> Hello to everyone.
> I'm the current Konqueror maintainer and I need help about how to solve an 
> incompatibility between the 5.86.0 version of KIO and Konqueror itself. 
> 
> After upgrading KDE frameworks from version 5.85.0 to 5.86.0 on my system, I 
> noticed that whenever I entered an http(s) URL in the location bar, the page 
> would be opened in a new tab, instead of the current tab like it used to (and 
> should) do.

This being a KDE Frameworks regression i think you should email kde-frameworks-devel at kde.org

Not sure all the relevant KDE Frameworks developers are readiny kde-devel.

Cheers,
  Albert

> 
> After a bit of investigation, I came to the conclusion that the cause of this 
> behaviour is the change introduced to 
> KIO::DesktopExecParser::hasSchemeHandler() by the commit https://
> invent.kde.org/frameworks/kio/-/commit/
> 5fa55a2395cbfb6504e56bf71c869c8e49902e13
> 
> If I understand correctly, this commit removes the precedence previously given 
> to kioslaves when there's both a kioslave and a protocol handler for the given 
> URL. In Konqueror, this causes the problem I described because Konqueror 
> relies in KRun::foundMimeType being called on a subclass of KRun to determine 
> how to open an URL when its mimetype is initially unknown. In KIO 5.86.0 this 
> doesn't happen anymore because KIO::DesktopExecParser::hasSchemeHandler 
> (called from krun.cpp:460) now returns true for http(s) URLs, which causes 
> KRun to directly launch the preferred application for those URLs. In my case, 
> this is kfmclient_html, which is part of Konqueror itself. Depending on the 
> user's settings, calling kfmclient_html could either open the URL in a new tab 
> (my situation) or even in a new Konqueror window.
> 
> This problem doesn't only affect http(s) URLs: if I enter, for example, a man: 
> URL, the man page isn't opened in Konqueror, as it used to, but in 
> KHelpCenter, which is something which shouldn't happen at all.
> 
> Looking at the documentation and the source code for KRun I couldn't find a way 
> to restore the pre-5.86.0 behaviour. Am I missing something? What would be the 
> best way to solve this issue? Initially, when I hadn't yet realized that this 
> issue wasn't only for http(s) URLs, I thought of handling those in a special 
> way. However, given that the problem is more widespread, I don't think this 
> can be done.
> 
> Thanks in advance
> 
> Stefano
> 
> 
> 







More information about the kde-devel mailing list