Steps to reproduce: - Open the marble KDE application - Select File -> Open - Select a GPX file from the local file system Expected result: Marble opens the file Current result: Message box: Sorry, unable to open ''. The file is not accessible. Analysis The problem seems to be in the method MarblePart::openFile(). It opens a QFileDialog to get the path of the file to open as QString. Then it calls MarblePart::openUrl( const QUrl &url ) with this QString. As this method takes a QUrl, not a QString, the QUrl(const QString&) ctor is called. The resulting QUrl is broken as it does not contain the protocol part. Looks like this got screwed up in cf1158852b8905d2c22d68c139aa4f0935207844 (Port to KDE Frameworks 5). There the interface of MarblePart::openUrl() was changed to take a QUrl instead of a KUrl. KUrl had special treatments for paths which QUrl does not have. I'm currently working on/testing a fix.
Fix: https://github.com/stefan-a-bauer/marble/commit/4917d6ac5eb9f3012338f8c8d449402624b7873c
Git commit 5f09ad0fc33627aff7d13ddff64d2f6d7b035fb8 by Dennis Nienhüser, on behalf of Stefan Bauer. Committed on 22/11/2015 at 17:59. Pushed by nienhueser into branch 'master'. MarblePart::openFile(): Create a working QUrl from the selected files The file open dialog returns the path(s) as QString. MarblePart::openUrl() expects a QUrl. The previous implicit conversion from QString to QUrl creates broken QUrl instances because the file:// protocol is missing. Fix this by calling QUrl::fromLocalPath() explicitly. M +1 -1 src/apps/marble-kde/marble_part.cpp http://commits.kde.org/marble/5f09ad0fc33627aff7d13ddff64d2f6d7b035fb8
Git commit 04aeb609932880caf0fe7103792039a497c4c5df by Dennis Nienhüser, on behalf of Stefan Bauer. Committed on 22/11/2015 at 18:03. Pushed by nienhueser into branch 'Applications/15.12'. MarblePart::openFile(): Create a working QUrl from the selected files The file open dialog returns the path(s) as QString. MarblePart::openUrl() expects a QUrl. The previous implicit conversion from QString to QUrl creates broken QUrl instances because the file:// protocol is missing. Fix this by calling QUrl::fromLocalPath() explicitly. (cherry picked from commit 5f09ad0fc33627aff7d13ddff64d2f6d7b035fb8) M +1 -1 src/apps/marble-kde/marble_part.cpp http://commits.kde.org/marble/04aeb609932880caf0fe7103792039a497c4c5df