From 143daa6ac29940f0136034c99cddc932a4ec0a42 Mon Sep 17 00:00:00 2001 From: Lars Knoll Date: Fri, 4 May 2012 11:21:49 +0200 Subject: [PATCH] Correctly locate files with relative paths QUrl("relativefilename").toLocalFile() changed behavior and now returns an empty string if the scheme is not set. Setting the scheme to "file:" in setSource would however break some other assumptions in the code about relative url's. Task-number: QTBUG-22416 Change-Id: I1b3fcbef81f6e356935ec426903989e783ce9a78 Reviewed-by: Thiago Macieira --- src/widgets/widgets/qtextbrowser.cpp | 2 ++ tests/auto/widgets/widgets/qtextbrowser/tst_qtextbrowser.cpp | 2 -- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/widgets/widgets/qtextbrowser.cpp b/src/widgets/widgets/qtextbrowser.cpp index b8ffced6bb..c6b1a6db16 100644 --- a/src/widgets/widgets/qtextbrowser.cpp +++ b/src/widgets/widgets/qtextbrowser.cpp @@ -153,6 +153,8 @@ QString QTextBrowserPrivate::findFile(const QUrl &name) const QString fileName; if (name.scheme() == QLatin1String("qrc")) fileName = QLatin1String(":/") + name.path(); + else if (name.scheme().isEmpty()) + fileName = name.path(); else fileName = name.toLocalFile(); diff --git a/tests/auto/widgets/widgets/qtextbrowser/tst_qtextbrowser.cpp b/tests/auto/widgets/widgets/qtextbrowser/tst_qtextbrowser.cpp index 8d4238b553..e5392249a9 100644 --- a/tests/auto/widgets/widgets/qtextbrowser/tst_qtextbrowser.cpp +++ b/tests/auto/widgets/widgets/qtextbrowser/tst_qtextbrowser.cpp @@ -250,8 +250,6 @@ void tst_QTextBrowser::viewportPositionInHistory() void tst_QTextBrowser::relativeLinks() { - QEXPECT_FAIL("", "QTBUG-22416: First call to QTextBrowser::setSource fails unless URL created with QUrl::fromLocalFile", Abort); - qRegisterMetaType("QUrl"); QSignalSpy sourceChangedSpy(browser, SIGNAL(sourceChanged(const QUrl &))); browser->setSource(QUrl("subdir/../qtextbrowser.html"));