Skip to content

StatJob: make mostLocalUrl work only with protoclClass == :local

Ahmad Samir requested to merge work/ahmad/statjob-protocol-local into master

The code was handling UDS_LOCAL_PATH in two different ways:

  • if the job was constructed via KIO::mostLocalUrl and the protocolClass wasn't :local, we cancelled the job
  • if the job was constructed via KIO::stat/statDetails, and UDS_LOCAL_PATH was set, then the latter would be used even if the Class wasn't :local

this meant that if some code uses KRun and then the KIOExec code path (which uses KIO::mostLocalUrl), we'd get a result that's different if the code uses e.g. OpenUrlJob, which uses stat/statDetails. I hit this while working on https://bugs.kde.org/show_bug.cgi?id=425948

Make StatJob more consistent, it shouldn't matter how the job was constructed.

Also, per sitter's suggestion, add a runtime warning if UDS_LOCAL_PATH is set but the protocol Class isn't :local; and return the url as-is in that case.

Merge request reports