Move function declaration to global scope so namespace is applied

The function-local declaration ignores the current namespace and when
linking it will look for a global exported function named
qt_writing_system_for_script instead of the one found in our namespace.

Move the declaration outside of the function to work around it.

Change-Id: I161bf1760e2e4e37d0f548b01bb3bea5ebb9ecdd
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
This commit is contained in:
Mårten Nordheim 2020-02-21 14:19:53 +01:00
parent e0fb295aad
commit 1826fa978a

View File

@ -52,6 +52,9 @@ QT_BEGIN_NAMESPACE
#ifdef QT_USE_DIRECTWRITE3 #ifdef QT_USE_DIRECTWRITE3
// Defined in gui/text/qfontdatabase.cpp
Q_GUI_EXPORT QFontDatabase::WritingSystem qt_writing_system_for_script(int script);
QWindowsDirectWriteFontDatabase::QWindowsDirectWriteFontDatabase() QWindowsDirectWriteFontDatabase::QWindowsDirectWriteFontDatabase()
{ {
qCDebug(lcQpaFonts) << "Creating DirectWrite database"; qCDebug(lcQpaFonts) << "Creating DirectWrite database";
@ -216,7 +219,6 @@ void QWindowsDirectWriteFontDatabase::populateFamily(const QString &familyName)
for (uint i = 0; i < rangeCount; ++i) { for (uint i = 0; i < rangeCount; ++i) {
QChar::Script script = QChar::script(ranges.at(i).first); QChar::Script script = QChar::script(ranges.at(i).first);
Q_GUI_EXPORT QFontDatabase::WritingSystem qt_writing_system_for_script(int script);
QFontDatabase::WritingSystem writingSystem = qt_writing_system_for_script(script); QFontDatabase::WritingSystem writingSystem = qt_writing_system_for_script(script);
if (writingSystem > QFontDatabase::Any && writingSystem < QFontDatabase::WritingSystemsCount) if (writingSystem > QFontDatabase::Any && writingSystem < QFontDatabase::WritingSystemsCount)