37 lines
1.1 KiB
Diff
37 lines
1.1 KiB
Diff
|
Index: kdecore/kcmdlineargs.cpp
|
||
|
===================================================================
|
||
|
--- kdecore/kcmdlineargs.cpp (Revision 669593)
|
||
|
+++ kdecore/kcmdlineargs.cpp (Revision 669594)
|
||
|
@@ -1248,21 +1248,22 @@
|
||
|
|
||
|
KURL KCmdLineArgs::makeURL(const char *_urlArg)
|
||
|
{
|
||
|
- QString urlArg = QFile::decodeName(_urlArg);
|
||
|
- if (!QDir::isRelativePath(urlArg))
|
||
|
- {
|
||
|
+ const QString urlArg = QFile::decodeName(_urlArg);
|
||
|
+ QFileInfo fileInfo(urlArg);
|
||
|
+ if (!fileInfo.isRelative()) { // i.e. starts with '/', on unix
|
||
|
KURL result;
|
||
|
result.setPath(urlArg);
|
||
|
return result; // Absolute path.
|
||
|
}
|
||
|
|
||
|
- if ( !KURL::isRelativeURL(urlArg) )
|
||
|
- return KURL(urlArg); // Argument is a URL
|
||
|
+ if ( KURL::isRelativeURL(urlArg) || fileInfo.exists() ) {
|
||
|
+ KURL result;
|
||
|
+ result.setPath( cwd()+'/'+urlArg );
|
||
|
+ result.cleanPath();
|
||
|
+ return result; // Relative path
|
||
|
+ }
|
||
|
|
||
|
- KURL result;
|
||
|
- result.setPath( cwd()+"/"+urlArg );
|
||
|
- result.cleanPath();
|
||
|
- return result; // Relative path
|
||
|
+ return KURL(urlArg); // Argument is a URL
|
||
|
}
|
||
|
|
||
|
void
|