diff options
-rw-r--r-- | src/gui/text/qfontdatabase.cpp | 8 | ||||
-rw-r--r-- | src/gui/text/qfontengine_ft.cpp | 7 |
2 files changed, 8 insertions, 7 deletions
diff --git a/src/gui/text/qfontdatabase.cpp b/src/gui/text/qfontdatabase.cpp index be8c1c0bb1..fa9cae4359 100644 --- a/src/gui/text/qfontdatabase.cpp +++ b/src/gui/text/qfontdatabase.cpp @@ -39,7 +39,6 @@ ** ****************************************************************************/ -#include <qdir.h> #include "qfontdatabase.h" #include "qdebug.h" #include "qalgorithms.h" @@ -47,12 +46,13 @@ #include "qvarlengtharray.h" // here or earlier - workaround for VC++6 #include "qthread.h" #include "qmutex.h" +#include "qfile.h" +#include "qfileinfo.h" #include "private/qunicodetables_p.h" #include "qfontengine_p.h" #include <QtGui/private/qguiapplication_p.h> #include <QtGui/qplatformfontdatabase_qpa.h> -#include "qabstractfileengine.h" #include <stdlib.h> #include <limits.h> @@ -2203,8 +2203,8 @@ bool QFontDatabasePrivate::isApplicationFont(const QString &fileName) int QFontDatabase::addApplicationFont(const QString &fileName) { QByteArray data; - QFile f(fileName); - if (!(f.fileEngine()->fileFlags(QAbstractFileEngine::FlagsMask) & QAbstractFileEngine::LocalDiskFlag)) { + if (!QFileInfo(fileName).isNativePath()) { + QFile f(fileName); if (!f.open(QIODevice::ReadOnly)) return -1; data = f.readAll(); diff --git a/src/gui/text/qfontengine_ft.cpp b/src/gui/text/qfontengine_ft.cpp index cecf9d1feb..c9eadd386e 100644 --- a/src/gui/text/qfontengine_ft.cpp +++ b/src/gui/text/qfontengine_ft.cpp @@ -49,7 +49,7 @@ #ifndef QT_NO_FREETYPE #include "qfile.h" -#include "qabstractfileengine.h" +#include "qfileinfo.h" #include "qthreadstorage.h" #include <qmath.h> @@ -231,7 +231,7 @@ QFreetypeFace *QFreetypeFace::getFace(const QFontEngine::FaceId &face_id, QScopedPointer<QFreetypeFace> newFreetype(new QFreetypeFace); FT_Face face; if (!face_id.filename.isEmpty()) { - QFile file(QString::fromUtf8(face_id.filename)); + QString fileName = QString::fromUtf8(face_id.filename); if (face_id.filename.startsWith(":qmemoryfonts/")) { // from qfontdatabase.cpp QByteArray idx = face_id.filename; @@ -240,7 +240,8 @@ QFreetypeFace *QFreetypeFace::getFace(const QFontEngine::FaceId &face_id, newFreetype->fontData = qt_fontdata_from_index(idx.toInt(&ok)); if (!ok) newFreetype->fontData = QByteArray(); - } else if (!(file.fileEngine()->fileFlags(QAbstractFileEngine::FlagsMask) & QAbstractFileEngine::LocalDiskFlag)) { + } else if (!QFileInfo(fileName).isNativePath()) { + QFile file(fileName); if (!file.open(QIODevice::ReadOnly)) { return 0; } |