Hi Folks,

just thought I would let you know (if you don't already) as to why applications such as VLC or SMplayer try to cache a file to the local machine rather than stream directly from a NAS in KDE 4.5.3

It has to do with an idiotic code update in krun.ccp where SMB supported protocol was removed.

Here is the link to the offending update that broke this rather handy feature:

open remote urls using kioexec if the app doesn't support the protocol | Diff Viewer | Review Board

Nice move Lubos Lunak for not thinking the code update through.





static QStringList supportedProtocols(const KService& _service)
{
// Check which protocols the application supports.
// This can be a list of actual protocol names, or just KIO for KDE apps.
QStringList supportedProtocols = _service.property("X-KDE-Protocols").toStringList();
KRunMX1 mx1(_service);
QString exec = _service.exec();
if (mx1.expandMacrosShellQuote(exec) && !mx1.hasUrls) {
Q_ASSERT(supportedProtocols.isEmpty()); // huh? If you support protocols you need %u or %U...
}
else {
if (supportedProtocols.isEmpty()) {
// compat mode: assume KIO if not set and it's a KDE app
const QStringList categories = _service.property("Categories").toStringList();
if (categories.contains("KDE")) {
supportedProtocols.append("KIO");
}
else { // if no KDE app, be a bit over-generic
supportedProtocols.append("http");
supportedProtocols.append("ftp");
}
}
}
kDebug(7010) << "supportedProtocols:" << supportedProtocols;
return supportedProtocols;
}
// FIXME: the current way of invoking kioexec disables term and su use