Commit Graph

17656 Commits

Author SHA1 Message Date
Laszlo Agocs
6a9f917b6a contextinfo example: Print the format() both for context and surface
And make the output a bit nicer.

Change-Id: I5f0f82374b6e9f9feca70a60c30967adb35d48ec
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
2014-03-14 18:20:46 +01:00
Alejandro Exojo
6d05f5faff Make QtCriticalMsg exit on QT_FATAL_CRITICALS
Change-Id: I92e8f9851dd074f3bcded6981f5545d1e93b549f
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2014-03-14 18:20:21 +01:00
Peter Hartmann
2e49b7a3b9 BB select(): move special select method to qcore_unix_p.h
... and make it independent of QProcess, because we want to use it
from QtNetwork as well.
In addition, move select_msecs() to qcore_unix_p.h as well and rename
it to qt_select_msecs().

Task-number: QTBUG-36144

Change-Id: Ief681b6f6c80e85aa5091a5a04bcedb60f353217
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-03-14 18:20:09 +01:00
Janne Anttila
4b8aee7ca0 Fix qchar testdata installation.
NormalizationTest.txt does not exist in the project root, but under 'data'
directory. TESTDATA is converted to INSTALLS rules in testcase.prf.
INSTALLS rules generated in testcase.prf does not set 'no_check_exist'
CONFIG variable. Thus qmake will not install NormalizationTest.txt since
it cannot find it from defined location.

Even TESTDATA has been incorrectly defined, NormalizationTest.txt
has been found in majority of the platforms thanks to QFINDTESTDATA
flexibility. However it causes problems on sand-boxed platforms such
as WinRT.

Fixed by defining the relative path to NormalizationTest.txt in TESTDATA
so that qmake can find the file when processing INSTALLS variable.

Change-Id: Id9a28db2a00b17d2c0136e6ff32f421b21137898
Reviewed-by: Andrew Knight <andrew.knight@digia.com>
Reviewed-by: Liang Qi <liang.qi@digia.com>
2014-03-14 18:19:00 +01:00
Konstantin Ritt
a7e58bf253 Build bundled HarfBuzz-NG outside QtGui
Being a part of QtGui, HarfBuzz-NG breaks build with -Werror.
Instead of disabling a particular warnings-as-errors,
build a prefixed static library and make it a link-time dependency.

Change-Id: Id0be1f0e0034092d50f83cd364d5c65940fee869
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2014-03-14 18:18:26 +01:00
Konstantin Ritt
4dcf40b308 Make bundled HarfBuzz-NG not depend on Qt
Change-Id: Id2a0e4ae4cf2b4a6c95985b3b31c846aac92f992
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2014-03-14 18:18:13 +01:00
Sérgio Martins
ce5a877a8b Windows: Support .pdb file names with spaces.
Task-number: QTBUG-3314
Change-Id: I50a8739f134644e3561f1f7e2e04dac469da38b6
Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
Reviewed-by: Nicolas Arnaud-Cormos <nicolas@kdab.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2014-03-14 18:17:48 +01:00
Laszlo Agocs
ace3b97d4c Fix deprecated setOption() usage in GLX integration
The correct function is setOptions().

Change-Id: Ife9ff75c409c843b4871804fcfd06b9d2a7733d3
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2014-03-14 18:17:29 +01:00
Michal Klocek
72fe9f1d0d Fix a crash of accessing deleted paintengine
When painting to QPixmap with QBlitterPaintEngine and dfb
PaintEngine have PaintDevice (pdev) as QImage. Painter code
uses PaintDevice::paintEngine() to refer to paintEngine.
This will became dangling pointer since QDirectFbBlitter::doLock()
will delete QImage. Instead return QPixmap as PaintDevice.

Change-Id: Idfac919b6438a82b412020e441e0a102e4a2a052
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
2014-03-14 18:13:34 +01:00
J-P Nurmi
45f264b682 QGtkStyle: remove file dialog functionality
GTK+ 2.x file dialogs are now implemented in QGtk2PlatformTheme

Change-Id: I2babd6a35e7abd606ec5d047abbefbe3f0fbb892
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Reviewed-by: David Faure <david.faure@kdab.com>
2014-03-14 15:27:47 +01:00
Gabriel de Dietrich
48e6352d4c Cocoa: Fix crash when closing window from title bar
Some mouse event may result in the window being deleted
so we need to take extra precaution when calling the super
class' 'sendEvent:' method.

Task-number: QTBUG-37287
Change-Id: Idf89ea177c78053bcdef52c54a197409e20bf38e
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2014-03-14 15:27:41 +01:00
Shawn Rutledge
8bbc1eaeb6 docs: QApplication::startDragDistance default value is 10
This comes from QPlatformTheme::defaultThemeHint().

Change-Id: I12a9add3af65e819a06b66d958acb8f21cfe0e13
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2014-03-14 15:27:38 +01:00
Bernd Weimer
563342d7ef BlackBerry: Improve platform specific documentation
Updated BlackBerry specific documentation around QSettings to make the
differences more obvious for developers.

Change-Id: Ib9acc2409379a836713f1a7e9d6189585a35aa61
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
Reviewed-by: Erin Rahnenfuehrer <erahnenfuehrer@blackberry.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
2014-03-14 15:27:34 +01:00
Bernd Weimer
a2a954da00 QNX: Fix screen event handling
Return code was misinterpreted.

Change-Id: I917db0879384a4997ff154ab25e56fbada55c0e4
Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
2014-03-14 15:27:29 +01:00
Andrew Knight
d38786deba WinRT: Separate backing store initialization to be more robust
If the GL context cannot be made current in the backing store's
constructor, the framebuffer resources won't be allocated. Fix this
by creating an initialization routine that can be called again if it
fails.

The issue was revealed by the GUI Analog Clock demo, which creates the
backing store before the window has a native handle.

Task-number: QTBUG-36008
Change-Id: I875f8183eff60908fc2b46f441bb553b42ff500d
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
2014-03-14 15:27:24 +01:00
Joerg Bornemann
04a632c88a fix namespaced WinRT build
Change-Id: I613a737600f85ef90155e3b8647197b4fd092998
Reviewed-by: Andrew Knight <andrew.knight@digia.com>
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
2014-03-14 15:27:12 +01:00
Joerg Bornemann
c6bb371b4b fix warning
Change-Id: I7afedbf679ae1c8467eea749e79eb10f2516d039
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
Reviewed-by: Andrew Knight <andrew.knight@digia.com>
2014-03-14 15:27:07 +01:00
David Fries
e6cb06a835 correct send vs sent grammar
Correct the tense of send vs sent in comments and documentation.

Change-Id: I1c5ce9a7b1e49b8b0e8dcfde7d732e4c69acf73a
Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2014-03-14 15:27:03 +01:00
Kai Koehne
961b24eed2 Don't show evaluation popup for unsupported evaluation
Do not show the popup for unsupported evaluations on every launch of a
QWidget based application. This is causing problems e.g. for applications
that are run by Qt Creator in the background, like qmlpuppet.

Instead, we'll show a similar dialog on Qt Creator startup.

Change-Id: I6b44c24865ed6992a70f8a9dd0bcd08a4744cb28
Reviewed-by: Iikka Eklund <iikka.eklund@digia.com>
Reviewed-by: Sami Makkonen <sami.makkonen@digia.com>
Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
2014-03-14 15:26:59 +01:00
Morten Johan Sørvig
1bd56022a5 Cancel NSURLConnections before releasing them.
Task-number: QTBUG-37042

Change-Id: I7ddcbc315b4b720e7da7880fc00731c28beb4bb2
Reviewed-by: Peter Hartmann <phartmann@blackberry.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2014-03-14 15:26:53 +01:00
Janne Anttila
f79202805e Disable UNC tests on WinRT.
Based on file system implementation for WinRT, the UNC paths are not
supported on WinRT, so lets disable corresponding tests as well.

Change-Id: Ib45ae618f39d5da39a822160096599b30204cf71
Reviewed-by: Andrew Knight <andrew.knight@digia.com>
2014-03-14 15:26:49 +01:00
Janne Anttila
afcaaea4c6 Implement QStandardPaths::GenericConfigLocation for WinRT.
Same logic for locaton used as in other Windows variants.

Change-Id: I5f71710d28ea1338748c9bd41d48bba15e674baa
Reviewed-by: Andrew Knight <andrew.knight@digia.com>
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
2014-03-14 15:26:45 +01:00
Morten Johan Sørvig
7bd7699e17 Add sizeLessWindow test case.
Verify that QOpenGLContext works with QWindows that
do not have an explicit size set.

Task-number: QTBUG-35342

Change-Id: I91be7beb0062c5825fc58273c701c396b6423256
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
2014-03-14 15:26:41 +01:00
Samuel Gaist
0300f56133 Make android non-prefix shadow build usable
Until now android developer build was not usable due to missing files.
These files are only available after a make install.
This patch aims to add that copy phase when building.

Task-number: QTBUG-36901
Change-Id: If0a7e982899b8c18495c7cb6508184fa153b239d
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2014-03-14 15:26:37 +01:00
Alejandro Exojo
0541f65efa Fix docs: QT_FATAL_WARNINGS acts when not empty
Change-Id: If68b98459eab3186e2f3d44f087b753d2c57b79d
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2014-03-14 15:26:32 +01:00
Janne Anttila
9f97990815 Fix WinRT design-mode manifest location.
QMake always places makefiles, including vcproj files, to OUT_PWD.

BUILD_DIR i.e. QMAKE_RESOLVED_TARGET refers to location where target
is generated. If TARGET is specified in pro file with path, such as:

    TARGET = ../../debug/tst_qlocale

The QMAKE_RESOLVED_TARGET refers to that path, and it differs from OUT_PWD.

Because Visual Studio requires a design-mode manifest in the same location
as the vcproj, resolved BUILD_DIR separately based on TEMPLATE.

Change-Id: I8dbaa862a5f53ac168f4643c17baabd7b4f0287d
Reviewed-by: Andrew Knight <andrew.knight@digia.com>
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2014-03-14 15:26:29 +01:00
Topi Reinio
c026912e84 Doc: Fix issue in QThread example code
Added a missing reference operator to make the code example
compile.

Task-number: QTBUG-37359
Change-Id: Ie52f65ab3b325daf1ee3b368131e54c8a17f92ef
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2014-03-14 15:26:25 +01:00
Janne Anttila
71b5aa1a2a Removed unnecessary TESTDATA statement from qmessageauthenticationcode.
QMessageAuthenticationCode autotest does not have data folder for
TESTDATA. It seems that pro file is copy/pasted from another one which
actually have data. Removed the unnecessary statement since it caused
problems for https://codereview.qt-project.org/77981.

Change-Id: Ide753e5692bd2f469217760173a9b60f2f646770
Reviewed-by: Andrew Knight <andrew.knight@digia.com>
Reviewed-by: Liang Qi <liang.qi@digia.com>
2014-03-14 15:26:21 +01:00
Frederik Gladhorn
263f97f963 Fix Mac Bearer when machine has no wifi
This manifested itself for some continuous integration machine, all
regular macs have wireless. In case there is no wifi, we would never
emit updateCompleted().

Change-Id: I1c5b0da6e1d73fef2588beb1796207326d430e26
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Lorn Potter <lorn.potter@jollamobile.com>
2014-03-14 15:26:16 +01:00
Shawn Rutledge
2258d8f9d0 Disable splashScreenModality test: dialog is going under splash screen
That's a bug, but this test causes CI problems until it's fixed.

Task-number: QTBUG-35169
Change-Id: I27b3a61437312d2217743670fa14510d9340d8c1
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Reviewed-by: Simo Fält <simo.falt@digia.com>
2014-03-14 15:26:10 +01:00
Friedemann Kleint
23a79b9119 Remove calls to setlocale in QtOpenGL cube example.
This is causing compilation errors on some Windows CE
configurations:

mainwidget.cpp(130) : error C3861: 'setlocale': identifier not found
mainwidget.cpp(149) : error C3861: 'setlocale': identifier not found

Change-Id: Ie863cd7c9c53cfef4074dabffe157d9068654a1c
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
2014-03-14 15:26:05 +01:00
Tor Arne Vestbø
fbaa6d3ca6 Don't populate font families using localized family names on OS X/iOS
The font database and QFont should have normalized font family names,
so using CTFontDescriptorCopyLocalizedAttribute is not a good idea.

If the feature of reporting the localized name of a font family or
style is needed in for example the font selection dropdown or dialog,
it should be exposed as an explicit property of the font.

Change-Id: Iaa15ad861043f4c78a38080608b6fe4d99efee18
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
2014-03-13 13:28:16 +01:00
Tor Arne Vestbø
b3ac505e21 Fix a few build warnings on iOS due to unused functions
Change-Id: If345a4137986a7d5032a2b48d92c08bc58e02144
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
2014-03-13 13:28:03 +01:00
Tor Arne Vestbø
8bc026ddcc Ensure that QGuiApplication is inited before using QFontDatabase
Change-Id: I494c4fdfa49139316efac0f68f8d463c02056372
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
2014-03-13 13:27:55 +01:00
Kalle Viironen
b9ec3e895f Remove definition QT_EDITION
Remove definition QT_EDITION which was set in configure
since it is not used anywhere anymore.

Change-Id: I5c30ab47c6244fcb07707fd05e11decf2068f6d1
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2014-03-13 13:27:46 +01:00
Paul Olav Tvete
daff5656e2 QQuickWidget: fix crash on exit
Make sure that the correct context is current when freeing GL resources.
Otherwise, on shutdown, QOpenGLVertexArrayObject would try to use the
previously current context, which mmay already have been deleted.

Task-number: QTBUG-37385
Change-Id: Ib2332f54636738a1a4b1041a7dcbffd0af00261d
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2014-03-13 13:27:36 +01:00
Paul Olav Tvete
afbad00a4d QQuickWidget move/resize fix
Make sure the alphamask in the backingstore is updated whenever the
geometry of a QQuickWidget/QOpenGLWidget child changes.

Task-number: QTBUG-37372
Change-Id: I70e94664bd7da774694645f604e1a7277fe563c7
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
Reviewed-by: Ulf Hermann <ulf.hermann@digia.com>
2014-03-13 13:27:29 +01:00
Leena Miettinen
a9d4aea494 Doc: Add links to new Qt Creator Manual topics
Beautifier and Windows Runtime plugins were added for 3.1.

Change-Id: I6ad16aa004e4ea2c468d2dc07e3d6142e63ff396
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2014-03-13 13:26:58 +01:00
Kai Koehne
ef43967fcd Logging: Let user configure rules via QT_LOGGING_RULES
Check also for rules set in an environment variable QT_LOGGING_RULES.
This makes it even more convenient to set rules e.g. for just one run of an
application, without having to create a logging configuration file. It
is also more in place with the current way we enable/disable debugging
of parts of Qt via environment variables.

Change-Id: I4d05976f2b6c12bca472552ffa22345475cd01de
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
Reviewed-by: Tomasz Olszak <olszak.tomasz@gmail.com>
2014-03-13 13:26:51 +01:00
Kai Koehne
490298e939 Optionally print from where logging rules are loaded
Tell the user from where logging configurations are loaded from if
the QT_LOGGING_DEBUG environment variable is set. This allows 'debugging'
of the logging rules database, because it's very simple to e.g. silence
all debug messages by adding a logging configuration file somewhere, and
forget about it.

Change-Id: Iee34031d531462060b5603e2210e01fd40952c63
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-03-13 13:26:38 +01:00
Kai Koehne
19693362e7 Use QStringRef for parsing of logging rules
Use QStringRef to speed up the parsing of the left side of logging rules.

Change-Id: Idd4d75496e3865d092f2802c45928a414c14c615
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-03-13 13:26:36 +01:00
Kai Koehne
2350c7e35c Make parsing of categories in logging rules more strict
Do not accept rules with wildcards in the middle.

Change-Id: If6fa71629c46bc4127aa8bd475643bc0e8a9f57c
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-03-13 13:26:26 +01:00
Kai Koehne
b3871dc804 Make parsing of categories in logging rules consistent.
The documentation says that the left side of a logging rule has the syntax

<category>[.<type>]

with optional wildcard '*' as the first or the last character (or at
both positions.

However, so far we didn't allow

qt.*.debug

But what we did allow is implicit dropping of trailing '.', e.g.

qt.* matched also 'qt'

Fix these by splitting up the '.type' in advance, and then do string
matching only on the 'real' category names.

Change-Id: Iab50ad0fc673464e870f5ab8dfb3245d829b3107
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-03-13 13:26:14 +01:00
Kai Koehne
f6d0c67d30 QDebug: Allow text stream formatting for 64 bit numbers
Use the QTextStream stream operator for formatting 64 bit numbers,
just like we do for other numbers, too. This ensures all numbers in
a QDebug stream e.g. respect the hex and showbase modifiers.

The original reason for formatting qin64, quint64 with QString::number
is unclear (pre-dates the original qt4 git import). Maybe QTextStream
did lack proper support for 64 bit numbers back then.

Task-number: QTBUG-36841
Change-Id: I049516c2a8394c9c1a708f86c3d950418a20a957
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-03-13 13:26:02 +01:00
Kurt Pattyn
1f4cda9a70 Replace Note: with \note in documentation
Change-Id: I213ac1fb2733e675f3641441fe6c621bab06c1f0
Reviewed-by: Peter Hartmann <phartmann@blackberry.com>
Reviewed-by: Richard J. Moore <rich@kde.org>
2014-03-13 13:25:58 +01:00
Sergio Ahumada
9f87c3663d tests: Mark tst_qdbus* tests as insignificant on OS X
D-Bus libraries were recently added to OS X 10.7 making these
tests to be executed for first time.

Task-number: QTBUG-37469
Change-Id: Ia7a74a45b18d4a645307f7fb7666236c5e009e5f
Reviewed-by: Simo Fält <simo.falt@digia.com>
2014-03-13 13:25:49 +01:00
Friedemann Kleint
eb0032687f Stabilize tst_qnetworkreply on Windows.
Do not close connection in slot bytesWritten() since that can
cause clients to fail with "Connection Closed". Instead, use
deleteLater() to close properly and prevent leaking the sockets.

FAIL!  : tst_QNetworkReply::qtbug28035browserDoesNotLoadQtProjectOrgCorrectly() 'waitForFinish(reply) == Success' returned FALSE. ( QUrl( "http://localhost:58240" )  failed: # 2 "Connection closed" )
..\tst_qnetworkreply.cpp(7067) : failure location

Task-number: QTBUG-37449

Change-Id: Ib92cb62fae523370b2fb45e1ccfa217559732bc8
Reviewed-by: Peter Hartmann <phartmann@blackberry.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2014-03-13 13:25:35 +01:00
Simo Fält
e5785d6322 Fix network tests relying on troll.no
Replacing old troll.no domain with qt-project.org domain. Using troll.no
doesn't work anymore.

Change-Id: Ic6fa71b044d1adbdc66c875b47bfdc256a2afc8e
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2014-03-13 13:25:26 +01:00
Tor Arne Vestbø
c466f2ed46 Remove need to populate font database on OS X to get fallback families
Populating the whole database takes a while, and it's very easy to trigger
the fallback family code path through eg. matching or getting the default
font family from QFont.

Instead of relying on populate to resolve family name to a PostScript name
(which was required when using CTFontCreateWithName), we instead use the
CTFontDescriptorCreateWithAttributes() function to create a descriptor
based on the family name, and then use CTFontCreateWithFontDescriptor().

The other way around, we use CTFontDescriptorCreateWithNameAndSize, and
then pull out the family name from the descriptor. The need for creating
a CTFont for private fonts (eg '.Apple Symbols Fallback') does not seem
necessary anymore, as tested on 10.7-10.9.

The disadvantage of creating font descriptors instead of re-using the
data computed by population is that we're doing the same work twice,
but the end result is making the font database more lazy, and the 80%
use-case is assumed to be that you're only interested in the fallback
of a small number of fonts, which means you don't want to populate all
of the fonts in the system (taking about 1100ms on the test system).
Looking up the fallback of a single family or style now takes about
15-25ms.

Task-number: QTBUG-37165
Change-Id: I6b904dbe796a3f236919d778d0168fdef9a20e69
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2014-03-11 03:39:39 +01:00
Konstantin Ritt
800232e1d3 Fix custom font substitution list support
During the QPA refactoring, the custom font substitution list support
was lost by ignoring the font request's fallbackFamilies member
when the multi font engine gets created/initialized.
If fallbackFamilies is not empty, it should be prepended to the
font database default fallback families list. Also respect the
custom fallback families list in the cache key to avoid picking
a multi font engine with wrong fallbacks list.

Task-number: QTBUG-36628

Change-Id: Ie2b84b3a397bee4816f421cddf76a5375829f13a
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2014-03-11 03:39:34 +01:00