Gunnar Sletta [Thu, 12 Jul 2012 07:00:50 +0000 (09:00 +0200)]
Fix compilation for some glxext.h header versions
Change-Id: I62b636d9f884c225e64a653db1a5f5da822d4af2
Reviewed-by: Chris Adams <christopher.adams@nokia.com>
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Thiago Macieira [Tue, 10 Jul 2012 16:45:28 +0000 (18:45 +0200)]
Fix small problems with tst_QProcess
Remember to register the metatype where we use it, so we don't depend
on another test being run previously.
And skip the setWorkingDirectory test completely on Unix. I don't know
why it needs to be skipped, but if we're not going to verify anything,
don't even try to do anything. This saves us one memory leak at least.
Change-Id: I22e151cc3fa7b4e976972aca8978b88b263d9bee
Reviewed-by: Mitch Curtis <mitch.curtis@nokia.com>
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Jan-Arve Saether [Mon, 2 Jul 2012 13:11:38 +0000 (15:11 +0200)]
Enable modularization of translation files.
This is accomplished by introducing dependencies to catalogs.
This requires one API change:
QTranslator::load(const uchar *, int);
changes to
QTranslator::load(const uchar*, int len,
const QString &directory = QString());
Since now, even the load from memory might need a directory if
the memory block contains a qm file with dependencies.
Change-Id: I781f333d07f53bb431d0a7b5fa1abe282dc4d338
Task-number: QTBUG-26138
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Eskil Abrahamsen Blomfeldt [Thu, 12 Jul 2012 10:55:04 +0000 (12:55 +0200)]
Fix crash when column is inserted before rowspanned cell
When you're inserting a column in front of a rowspanned cell
and this cell is not the first in the rowspan, we would get
the wrong logical index of the new cell (putting it in
front of the initial cell with the rowspan). If the cell
does not span all rows, the table will get into a broken state
and trigger asserts in update(). To fix this, we search for
the first cell after the insertion point which has a logical
index higher than the cell directly before the insertion point.
Change-Id: I42e91a20d77b2ba9c5607f6cab23f51ed888cbd3
Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
Oswald Buddenhagen [Thu, 12 Jul 2012 13:59:05 +0000 (15:59 +0200)]
fix splitting of $PATH when looking for sh.exe
Change-Id: I1ec0a48879d6ba7c0e2e7fdc0939980d0f817a68
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Oswald Buddenhagen [Thu, 12 Jul 2012 13:44:34 +0000 (15:44 +0200)]
remove another symbian remnant: QMAKE_RVCT_LINKSTYLE
Change-Id: Ibac060ecae061c72d4c7076b2d61a5cdd6247420
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Oswald Buddenhagen [Thu, 12 Jul 2012 09:19:48 +0000 (11:19 +0200)]
test behavior of $${absolute,relative}_path() with empty 1st argument
Change-Id: I76c0853a9d397979f2ae5eb780374d2380c989f1
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Oswald Buddenhagen [Mon, 9 Jul 2012 14:10:37 +0000 (16:10 +0200)]
remove pointless checking/fallback code for $$TARGET
qmake always sets that variable, so unless somebody pro-actively screws
it up (which doesn't seem like being worth checking for), it will just
work.
Change-Id: I3c4ada47cbd34ac68695d8efbf09c605392616f5
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Oswald Buddenhagen [Thu, 5 Apr 2012 15:08:26 +0000 (17:08 +0200)]
remove support for syncqt-based config tests
now that all modules have migrated, dispose of the clutter.
Change-Id: Ib8937c1452536f645b76c0097b927df1108afc1a
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Tasuku Suzuki [Wed, 11 Jul 2012 17:49:47 +0000 (02:49 +0900)]
remove QT_NO_SIGNALMAPPER from features
QSignalMapper is a small and extremely low-level interface.
Change-Id: I7e799673c6fe559178739fbc58385141ae3f0789
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Andreas Holzammer [Thu, 12 Jul 2012 09:21:47 +0000 (11:21 +0200)]
Fix wince build
Wince does not have a style so we cannot save it.
This was introduced by Change-Id: I6fca399376cd1fa9bffea0a686b56c4d5ec26605
Change-Id: I249aa8e9688e5a862b3787c531c19baea7338d5e
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Girish Ramakrishnan [Fri, 6 Jul 2012 13:10:08 +0000 (18:40 +0530)]
QPA: pass cmdline arguments to QPlatformIntegrationPlugin constructor
Two observations of the current code:
1. The cmdline arguments are passed as dynamic properties of the native
interface. This is not optimal. First, the args should be made available
in the plugin constructor (and thus in the QPlatformIntegration constructor).
This allows the integration to make decisions when initializing itself.
Second, the preferred way for apps to query properties from the platform plugin
should be through the various methods in QPlatformNativeInterface.
With that in mind, the dynamic property approach should be obsoleted. I have left
the code as-is for backward compat.
2. The -platform argument is parsed twice. Once in init_platform and then
again in QPlatformIntegrationFactory. QPlatformIntegrationFactory now takes
the name and arg list separately.
Change-Id: I6b568ed9e28feeaf036bf340417fa00bdf1b7da3
Reviewed-by: Romain Pokrzywka <romain.pokrzywka@kdab.com>
Reviewed-by: Oliver Wolff <oliver.wolff@nokia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
Friedemann Kleint [Thu, 5 Jul 2012 10:08:31 +0000 (12:08 +0200)]
Implement qWaitForWindowShown using qWaitForWindowExposed.
Deprecate qWaitForWindowShown for Qt 6 as it is just a wrapper.
Change-Id: I0f8195679679120bd402e273fed4d331dc926708
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
Oswald Buddenhagen [Thu, 12 Jul 2012 09:25:39 +0000 (11:25 +0200)]
don't unnecessarily normalize $$[QT_INSTALL_*] any more
they are always normalized nowadays
Change-Id: I2d6d00639a4838da1a4def93a3416b000b8cd589
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Thomas McGuire [Wed, 11 Jul 2012 12:34:33 +0000 (14:34 +0200)]
QNX: Rename copyBack() to blitPreviousToCurrent()
Change-Id: I12cff8f4533f9a257b85d2a2db6ee3ef4a0c9751
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Thomas McGuire [Wed, 11 Jul 2012 12:31:13 +0000 (14:31 +0200)]
QNX: Factor out blitHelper() function
Change-Id: If4d671aae557065d502c3c134f50c89c621cb145
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Thomas McGuire [Wed, 11 Jul 2012 12:30:11 +0000 (14:30 +0200)]
QNX: Add comment in post() explaining how buffering works
Change-Id: Ieb87ea1bd926700277bf90c6a50ae89f1a8da1c2
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Friedemann Kleint [Thu, 12 Jul 2012 09:06:11 +0000 (11:06 +0200)]
Tests: Fix printsupport profiles.
Fix reversed conditions, breakage introduced by
32db7de2079967fe1c333c562b742318c50321a4.
Change-Id: I6fca399376cd1fa9bffea0a686b56c4d5ec26605
Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Oswald Buddenhagen [Thu, 12 Jul 2012 07:38:44 +0000 (09:38 +0200)]
make the prl lookup search in standard locations
qtAddModule() skips adding standard library paths to LIBS. however, as
processPrlFiles() didn't know anything about that, it would not find the
prl files of qt libraries in these paths.
so centralize the definition of these default paths (we should actually
ask the linker for them) and use it in both places.
do the same for the include paths for symmetry.
Change-Id: I7e3692dc2d1c2d0c97a9151d15887b1263de137a
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Robin Burchell [Wed, 11 Jul 2012 13:08:19 +0000 (15:08 +0200)]
android: fix build mistake from earlier mkspec naming
Change-Id: I48d9f097e3177f9e2f558845e531f4e438035586
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Thiago Macieira [Mon, 9 Jul 2012 11:46:48 +0000 (13:46 +0200)]
Fix static plugin loading.
The QFactoryLoader::indexOf and keyMap functions expect to receive the
metadata that contains a "MetaData" entry, instead of the entry
itself.
Also, QFactoryLoader::metaData() skips static plugins with the wrong
IID, so we need to skip it too in QFactoryLoader::instance().
Change-Id: I8a453087feb88d0e8d1021054353f3600d5100a5
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
Mitch Curtis [Thu, 28 Jun 2012 13:53:41 +0000 (15:53 +0200)]
Write qHash functions for QDate, QTime and QDateTime.
These functions didn't exist - this patch implements them.
Task-number: QTBUG-23079
Change-Id: I9eb6e238531d5cda878f5f2cdd27bab30aa60669
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Mitch Curtis [Fri, 6 Jul 2012 13:12:41 +0000 (15:12 +0200)]
Add unary operator+ to QPoint and QPointF.
As requested by Winfried Schenke:
"QPoint should have an unary operator+ (the unary operator- exists).
Classes with arithmetic operators should provide a complete set of
operators, because some template code relies on it."
Task-number: QTBUG-22913
Change-Id: Ib0c5105975f56c15f00bb48d83c8d911f5a204ac
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Thiago Macieira [Wed, 11 Jul 2012 15:15:40 +0000 (17:15 +0200)]
Put the ICU libraries in LIBS_PRIVATE
We don't expose ICU in our public API, so there's no need for end-user
applications to be forced to link to ICU.
Change-Id: Ie7a1cef205b9859be4c6b21f486392d192cf6063
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Oswald Buddenhagen [Wed, 11 Jul 2012 14:35:24 +0000 (16:35 +0200)]
fix QT.<module>.*_VERSION references
Change-Id: I448de417d86f2500015b967581dbe7aab58e894a
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Oswald Buddenhagen [Wed, 11 Jul 2012 14:33:47 +0000 (16:33 +0200)]
do not mess with VERSION
the import version is not supposed to determine the plugin version -
it's only used by the qmltypes target.
Change-Id: I0cb072cb0ee469bd96830262dbf4971a2bf3134f
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Friedemann Kleint [Wed, 11 Jul 2012 13:12:26 +0000 (15:12 +0200)]
Improve windowflags, windowgeometry manual tests.
- Make them compile with 4.8 for comparison
- Add Active to WindowStates control
- Add -layout option to windowgeometry
Change-Id: I052330eb8689883c104a0552708ea700c7cd790a
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
Robin Burchell [Wed, 11 Jul 2012 13:08:12 +0000 (15:08 +0200)]
eglfs: add virtual destructor to QEglFsHooks
Fixes:
qeglfshooks.h:56: error: 'class QEglFSHooks' has virtual functions and accessible non-virtual destructor
Change-Id: I5b8d96e764121c85fcc73d2231427cd123de8cd9
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Girish Ramakrishnan [Mon, 2 Jul 2012 21:30:41 +0000 (03:00 +0530)]
linuxfb: Add config.test and configure support
The code is exactly the same as what is already done for DirectFB.
Change-Id: I3b84e67a3e999f692da4110f3ac9c82d98b0637c
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Sergio Ahumada [Wed, 11 Jul 2012 12:44:38 +0000 (14:44 +0200)]
Fix some spelling errors
Change-Id: I19d3b2e9a5180b13deb828b55195404ef20be295
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Jocelyn Turcotte [Tue, 10 Jul 2012 17:13:19 +0000 (19:13 +0200)]
Add protected virtual ensureActiveTarget() to QOpenGLPaintDevice
Make sure that QOpenGLPaintDevice supports it the same way as
QGLPaintDevice::ensureActiveTarget dit. It is made virtual since the
external code needs to manage FBOs for QOpenGLPaintEngine.
Task-number: QTBUG-25995
Change-Id: Ieed9616f6a14204aae628d7febe6a11538496b3d
Reviewed-by: Kim M. Kalland <kim.kalland@nokia.com>
Mitch Curtis [Thu, 5 Jul 2012 15:06:31 +0000 (17:06 +0200)]
Improve QPoint and QPointF auto tests.
Improve test coverage for QPoint and QPointF.
Separate QPointF tests into their own project.
Change-Id: Id28dc5b85aba9fc179d87b2bca1d99854f27a5ab
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Jiang Jiang [Tue, 10 Jul 2012 08:32:03 +0000 (10:32 +0200)]
Avoid loading multiple bearer plugins of the same key
There may be duplicated debug plugins, loading both will cause
crash.
Change-Id: Icc2a3643c318844bc7f2e149a6434e95de2449b2
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Friedemann Kleint [Fri, 29 Jun 2012 10:38:53 +0000 (12:38 +0200)]
Add stylehint to use querying RTL keyboard support.
Change-Id: Ic58ed7cb64cc7fe60b4d431e9f29e389c62265fc
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Friedemann Kleint [Mon, 9 Jul 2012 10:50:00 +0000 (12:50 +0200)]
Clear qt_button_down widget when starting a drag.
Prevent pickMouseReceiver() from using the
widget from which the drag was started.
Task-number: QTBUG-26145
Change-Id: I65d4c295a894193e41c676fb9fd1f7113c2631b5
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Oswald Buddenhagen [Tue, 10 Jul 2012 17:34:48 +0000 (19:34 +0200)]
fix build with namespaced qt
Change-Id: Ie7d8ce60448aea98141baa66a57796447a31040e
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Thomas McGuire [Tue, 10 Jul 2012 09:00:36 +0000 (11:00 +0200)]
Don't set the resize and move flags when activating fullscreen mode
This fixes tst_QWidget::movedAndResizedAttributes() for platforms
that don't have support for QPlatformWindow::setWindowState().
Change-Id: Id0f123d11b08a75c0c131080d509e6b23b281600
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Stephen Kelly [Tue, 10 Jul 2012 15:56:54 +0000 (17:56 +0200)]
Fix unit tests when CMAKE_PREFIX_PATH env var is not set.
Tests which are expected to not build need to get a way to find the
Qt 5 config packages. Because they use try_compile, there is no way
to pass the contents to it.
Work around that by generating a file containing the prefix which
the tests will include.
Change-Id: If43080c241539e4af5fe1c183e7da72066278b73
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Girish Ramakrishnan [Mon, 9 Jul 2012 10:00:45 +0000 (15:30 +0530)]
linuxfb: Remove QFbWindow::setVisible
QFbWindow::setVisible doesn't call into the base class implementation
and thus suppresses the delivery of the expose event. It turns out we
don't need to track the visiblity at all since the base QPA code tracks
this already.
After this change, windows are now render on the framebuffer.
Change-Id: Ifcfc730456883eb423d79479bd0b04330b8c2d72
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
Reviewed-by: Thomas Senyk <thomas.senyk@nokia.com>
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Girish Ramakrishnan [Sat, 7 Jul 2012 03:26:50 +0000 (08:56 +0530)]
linuxfb: Add m prefix to all member variables
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
Reviewed-by: Thomas Senyk <thomas.senyk@nokia.com>
Change-Id: Id1eb31ff15713c4ce3659f71d23a18ecf42f6bd3
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Girish Ramakrishnan [Sat, 7 Jul 2012 03:19:12 +0000 (08:49 +0530)]
linuxfb: raise and lower should take QFbWindow as args
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
Reviewed-by: Thomas Senyk <thomas.senyk@nokia.com>
Change-Id: I856ea141a39f23968169ba29be1445fa089f7f02
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Girish Ramakrishnan [Fri, 6 Jul 2012 21:16:24 +0000 (02:46 +0530)]
linuxfb: let the window register itself with the screen
This moves the addWindow call to the platformsupport code.
Change-Id: Icf9175ae86ad880248036362e9c5f40124744272
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
Reviewed-by: Thomas Senyk <thomas.senyk@nokia.com>
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Girish Ramakrishnan [Fri, 6 Jul 2012 13:18:38 +0000 (18:48 +0530)]
linuxfb: Add option to not switch to graphics mode
When in graphics mode, printf/qDebug doesn't get printed
on the console. So, it's nice to have this option for
debugging.
Change-Id: Idd552292da2526e07d9c74d2a901e0d675edb2e1
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
Reviewed-by: Thomas Senyk <thomas.senyk@nokia.com>
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Girish Ramakrishnan [Fri, 6 Jul 2012 00:10:57 +0000 (05:40 +0530)]
linuxfb: Rework screen code
Move the screen code from integration. The design philosophy
is that QFbScreen takes care of generic framebuffer composition.
QLinuxFbScreen is just an linux framebuffer adaptation layer.
Change-Id: I8456c13826f06621037dd77fe0d0bd8873806c96
Reviewed-by: Thomas Senyk <thomas.senyk@nokia.com>
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Girish Ramakrishnan [Thu, 5 Jul 2012 22:44:37 +0000 (04:14 +0530)]
linuxfb: remove mScreens from QFbWindow
A QWindow can only be in one QScreen, so it makes no sense to track
a list of screens.
Change-Id: I341a67afa90c7fbbbd95786b43d0a322fc1ddba2
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
Reviewed-by: Thomas Senyk <thomas.senyk@nokia.com>
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Girish Ramakrishnan [Thu, 5 Jul 2012 16:30:28 +0000 (22:00 +0530)]
linuxfb: create image only on resize
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
Reviewed-by: Thomas Senyk <thomas.senyk@nokia.com>
Change-Id: I04cd75f96cf755ef0c12fad70e3bbd96fbbed9a1
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Girish Ramakrishnan [Thu, 5 Jul 2012 15:36:14 +0000 (21:06 +0530)]
linuxfb: don't store window in backingstore
The backing store already knows about the window.
Also, rename surface to backing store in QFbWindow.
Change-Id: I3701b3cdbdc228200da9b93b13037655dc436f53
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
Reviewed-by: Thomas Senyk <thomas.senyk@nokia.com>
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Marc Mutz [Tue, 3 Jul 2012 12:28:49 +0000 (14:28 +0200)]
QNX: fix linking by implementing QStandardPaths::enableTestMode()
Change-Id: Ia223ff598d816dd6420437a9a58be26da55d7c07
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Reviewed-by: David Faure <faure@kde.org>
Kent Hansen [Sat, 7 Jul 2012 04:07:11 +0000 (06:07 +0200)]
statemachine: Support parallel root state
QStateMachine inherits from QState, so it should be possible to set
its childMode to ParallelStates, and it should behave as expected
(the machine should emit the finished() signal when all its child
states are in final states).
Task-number: QTBUG-22931
Change-Id: Ic436351be0be69e3b01ae9984561132cd9839fa7
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
Kent Hansen [Sat, 7 Jul 2012 03:43:11 +0000 (05:43 +0200)]
statemachine: Emit finished() signal when the initial state is final
It's legal to set a QFinalState as the initial state. The state
machine should correctly emit the finished() signal upon entering
such a state in the initial transition, and don't do any further
processing.
Change-Id: Ica8d3fadbbde604512ea1136624af54eb3b13b11
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
Kent Hansen [Sat, 7 Jul 2012 02:51:24 +0000 (04:51 +0200)]
statemachine: Small refactoring of initial transition code
In preparation of supporting parallel root states, which will make
the initial transition creation slightly more involved.
Change-Id: Iad996eb4db248842c1a2088430c13bd5c953c374
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
Kent Hansen [Sat, 7 Jul 2012 02:33:30 +0000 (04:33 +0200)]
statemachine: Get rid of hidden start state
The hidden start state was used as a mechanism for performing the
initial transition (to the real initial state,
QStateMachine::setInitialState()), but it mutated the state machine
in a way that causes problems when the root state is a parallel
state group (see future commit).
Change-Id: I41ac4f6bcabf3bec0a412e46282a1373928105a3
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
Girish Ramakrishnan [Mon, 2 Jul 2012 12:49:55 +0000 (18:19 +0530)]
linuxfb: add linuxfb.json and moc main.cpp
This makes the linuxfb plugin load
Change-Id: Idbe888b5795f8ac86f1e3cf197e42c99cca04818
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Girish Ramakrishnan [Mon, 2 Jul 2012 10:01:17 +0000 (15:31 +0530)]
linuxfb: make linuxfb compile
The plugin now compiles, it is not known to work.
Change-Id: I8dd086eb7fc41c6e197debc2601eebba3404187c
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Girish Ramakrishnan [Mon, 2 Jul 2012 08:36:03 +0000 (14:06 +0530)]
linuxfb: make platformsupport convenience compile
Rename fb_base to fbconvenience in-line with the other
convenience classes.
The code only compiles, it is not known to work.
Change-Id: If51700ddf0a11ace5129af6f00f34fd895a6a4df
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Oswald Buddenhagen [Tue, 10 Jul 2012 18:53:52 +0000 (20:53 +0200)]
support building tools as application bundles
qmlplugindump needs that
Change-Id: I3b6b6689a32744262184fa781fda465460a87640
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Jason McDonald [Mon, 9 Jul 2012 07:05:57 +0000 (17:05 +1000)]
List required xcb packages for Ubuntu 12.04.
Change-Id: Ia934a9da9986f451d90053891c80ec352b939172
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Kent Hansen [Thu, 5 Jul 2012 10:55:20 +0000 (12:55 +0200)]
statemachine: Revamp property assignments implementation
In the old implementation, property assignments
(QState::assignProperty()) were "second-class citizens".
Assignments were not really integrated into the state machine
algorithm, but rather done as a separate step
(QStateMachinePrivate::applyProperties()). While that was
convenient for SCXML spec transcription purposes, it resulted
in some pretty poor semantics on the user side:
* Properties were not assigned until _after_ both the
QAbstractState::onEntry() function had been called and the
QState::entered() signal had been emitted.
* Automatic property restoration (QStateMachine::RestoreProperties)
did not play nice with nested states (and parallel states, in
particular).
The proper fix is to refactor the implementation to make
property assignments first-class in the core state machine
algorithm (QStateMachinePrivate::microstep()).
In practice, this meant splitting some steps. Instead of calling
exitStates() straight away, we now first only compute the states
to exit (without actually exiting them), and use the resulting set
to compute which properties are candidates for restoration.
Similarly, instead of calling enterStates(), we first only compute
the states to enter (without actually entering them), and use the
resulting set to compute which properties are assigned by the
entered states.
With that in place, the rest was a matter of moving the various
chunks of the old applyProperties() logic to the place where they
belong in the per-state entry/exit.
All existing autotests pass. Added several tests that verify the
desired semantics in more detail.
Task-number: QTBUG-20362
Change-Id: I7d8c7253b66cae87bb0d09aa504303218e230c65
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
Kent Hansen [Wed, 4 Jul 2012 22:03:41 +0000 (00:03 +0200)]
statemachine: Refactor {enter,exit}States() functions
Move the computation of the sets of entered/exited states to
separate functions.
This separation is done in order to facilitate the integration
of property assignments (QState::assignProperty()) into the
core state machine algorithm.
Change-Id: I5b7084e0e37037eb64909d217856746d81bf1878
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
Sean Harmer [Sat, 7 Jul 2012 18:40:15 +0000 (19:40 +0100)]
XCB: Use glXCreateContextAttribsARB if available
If the GLX ARB extension ARB_create_context is available use the
function glXCreateContextAttribsARB to create a context for OpenGL 3 or
newer that honours the requested profile and version.
If a core profile is requested we also ensure that it is forwards
compatible.
Also ensure that the stored surface format reflects the requested
version.
Change-Id: Ie4f77be19bfc400440a2f8c9b3d99240eb430925
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
Jan-Arve Saether [Wed, 7 Mar 2012 10:59:30 +0000 (11:59 +0100)]
Remove clipboard operations from QAccessibleEditableTextInterface
Also, remove its subclass QAccessibleSimpleEditableTextInterface
Instead of having the subclass that implements this conveniently,
we move this behaviour over to the bridge. The bridge should
check if role() == EditableText is set, and then it should try to
support the IAccessibleEditableText interface (i.e.
it should accept the calls to replaceText(), deleteText() and
insertText()) and change the text with the following operations:
1. Query the text using QAccessibleTextInterface::text() or by
using QAccessibleInterface::text(QAccessible::Value) as a fallback
2. Do the requested delete/insert/replace manipulation
3. Update the text with setText(QAccessible::Value, newText);
Change-Id: Iee5e41faf14351951e2bfca8c9eac970a113e878
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
Sergio Ahumada [Tue, 10 Jul 2012 08:59:49 +0000 (10:59 +0200)]
Change deprecated use of qgenericplugin_qpa.h to qgenericplugin.h
In file included from kernel/qgenericpluginfactory.cpp:46:0:
../../include/QtGui/qgenericplugin_qpa.h:4:4: warning:
#warning Header <QtGui/qgenericplugin_qpa.h> is deprecated.
Please include <QtGui/qgenericplugin.h> instead. [-Wcpp]
Change-Id: I533270e23e742e6f15ad5d480afb4901fb8541b0
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Oswald Buddenhagen [Mon, 9 Jul 2012 17:17:00 +0000 (19:17 +0200)]
add feature file for centralized qml plugin project handling
Change-Id: I7cdce31d7ac458656cf8e8490fd7f7e5c04ca106
Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Stephen Kelly [Wed, 4 Jul 2012 08:11:07 +0000 (10:11 +0200)]
Set the IMPORTED_SONAME for imported targets.
On windows this doesn't need to be set. On Mac I'm not sure yet on
the various configurations.
Change-Id: I31f191711a2ae0a1bb7221ae6e1fef377d62f1dc
Reviewed-by: Clinton Stimpson <clinton@elemtech.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Stephen Kelly [Tue, 10 Jul 2012 16:05:13 +0000 (18:05 +0200)]
Fix the name of _debug libraries on APPLE.
Change-Id: Id3ae730c0ce0630f8ccc222fe09e5d3da23d124d
Reviewed-by: Clinton Stimpson <clinton@elemtech.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Oswald Buddenhagen [Tue, 10 Jul 2012 17:34:35 +0000 (19:34 +0200)]
fix linking against installations in /usr/lib
Change-Id: I17a6a2e058f039e525461d459477329fd7090417
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Oswald Buddenhagen [Tue, 10 Jul 2012 06:59:40 +0000 (08:59 +0200)]
make sure that building tests implies building other parts
some tests have runtime deps on the other parts
Change-Id: Ieb2925e762e94b3c0b16884be0f59e10ce8e4878
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Thomas McGuire [Tue, 10 Jul 2012 07:06:11 +0000 (09:06 +0200)]
Fix showNormal() and friends for platforms with fullscreen hint
Don't call show() inside of QWidget, as that might make the window
fullscreen due to QStyleHints::showIsFullScreen().
This regression was introduced earlier when QWidget::show() gained
support for the hint. No auto test caught the problem, as the
affected platforms (EGL and QNX) are not CI-tested.
Change-Id: I647c2362ac5b53ced562f1d77848552cc122fba0
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Friedemann Kleint [Tue, 10 Jul 2012 14:13:06 +0000 (16:13 +0200)]
qtbase: Add missing example installs and files.
Change-Id: I071fd862e001b766c9fb13106242edf23a608663
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Jeremy Katz [Tue, 10 Jul 2012 11:57:51 +0000 (13:57 +0200)]
make gui compile with QT_NO_SHORTCUT
The metatype system expects operator<<(QDataStream &, QKeySequence &)
even when shortcuts are disabled. This provides empty definitions for
that case.
Task-number: QTBUG-24816
Change-Id: Ie29fd01d38178bdc31cc51f1f08662b30edfc1e4
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
Eskil Abrahamsen Blomfeldt [Tue, 10 Jul 2012 09:33:25 +0000 (11:33 +0200)]
Use DirectWrite font engine for non-ttf fonts as well
DirectWrite supports different font types, not just TTF. In order
to enable e.g. CFF support, we simply remove the test for TTF
which was initially put in to be on the safe side when handling
bitmap fonts. However, using DirectWrite with bitmap fonts also
seems to work fine, so there's no reason to have the fallback.
Task-number: QTBUG-22654
Change-Id: I8572bc421ab3dd223025ea152ba9b33f7cf33a8a
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
Eskil Abrahamsen Blomfeldt [Tue, 10 Jul 2012 08:17:22 +0000 (10:17 +0200)]
Get font's underline position in DirectWrite font engine
Fetch the correct underline position for the font along with
other metrics.
Task-number: QTBUG-22656
Change-Id: I35f6ea15ad18088033a5e7b7b83e2430c1b32a8f
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
Sergio Ahumada [Tue, 10 Jul 2012 08:35:31 +0000 (10:35 +0200)]
test: subtract qurlinternal.pro when private_tests are not enabled
This test used requires(contains(QT_CONFIG,private_tests)) in its
.pro file, but did not subtract itself from its parent project
SUBDIRS when private_tests weren't enabled.
Change-Id: Idcd0893c4804a8217e4dd33ba9838ff67e996f58
Reviewed-by: David Faure <faure@kde.org>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Laszlo Papp [Sun, 8 Jul 2012 11:10:13 +0000 (12:10 +0100)]
Make the documentation consistent with the header and QVector* classes
Change-Id: If0c5951029beb388cf4b1b8269de7305d0556ef1
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
Rohan McGovern [Mon, 9 Jul 2012 22:58:19 +0000 (08:58 +1000)]
configure{.exe}: enable 'tools' as a default build part
Tools for each module should be enabled by default.
Prior to qt_parts.prf, they have been enabled by default, but only by
accident - the value of QT_BUILD_PARTS with respect to 'tools' was
generally not respected.
Change-Id: Icd49d6128d4050ff1c865967a563e9ab88c5a3a2
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Kent Hansen [Wed, 4 Jul 2012 21:17:49 +0000 (23:17 +0200)]
statemachine: Don't assign properties for transitions with no targets
If the transition has no target states, that means the current state
won't change; hence, property assignments should not be performed.
In particular, properties should not be restored to the values they
had before the state was entered.
Change-Id: I237bbb541f939c272777e70c5f26c886ec457a17
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
Kent Hansen [Wed, 4 Jul 2012 20:14:24 +0000 (22:14 +0200)]
statemachine: Tiny refactoring to avoid double lookup
Change-Id: I5040ca417dc12e1e0938ba7669b3017e414d13f9
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
Kent Hansen [Wed, 4 Jul 2012 19:13:01 +0000 (21:13 +0200)]
statemachine: Add some missing QT_NO_PROPERTIES guards
... and move the applyProperties() declaration to the right place.
Change-Id: Iff4f468f2e7bc0350866b737a0db02c0f74bdd4f
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
Kent Hansen [Wed, 4 Jul 2012 19:05:51 +0000 (21:05 +0200)]
statemachine: Small refactoring of animation selection code
QStateMachinePrivate::applyProperties() is an epically long function.
Move the code for selecting animations to a separate function, in
preparation of a larger refactoring.
Change-Id: Ic5846db97dd0cb0d6ad01740f413b233d2a66975
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
Kent Hansen [Wed, 4 Jul 2012 11:03:48 +0000 (13:03 +0200)]
statemachine: Purge restorable properties when they are restored
Previously, a registered restorable property would only be
unregistered if the property was animated (see
QStateMachinePrivate::_q_animationFinished()).
But if a property is set directly, it should also be unregistered;
otherwise, the state machine would use the previously saved (stale)
value the next time that property should be restored.
Change-Id: I5d246aa5355ddd0ba5f81b0186a9f0e4f3bbaa3f
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
Kent Hansen [Tue, 3 Jul 2012 20:13:56 +0000 (22:13 +0200)]
Set compound state's initial state to 0 if it is removed/deleted
Change-Id: I45b7c15a9b3d5a1860cb9a7da8836f9eaaa0326d
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
Kent Hansen [Mon, 2 Jul 2012 21:06:26 +0000 (23:06 +0200)]
statemachine: Let QPropertyAssignment do the property write
This allows QPropertyAssignment to be smarter (caching the
property index, for example).
Change-Id: Ib6d302f46f784219b6b3f07784e5c31dd7288c6e
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
Kent Hansen [Mon, 2 Jul 2012 18:45:49 +0000 (20:45 +0200)]
statemachine: Don't crash if property assignment target is deleted
Do like QPropertyAnimation and store the QObject in a QPointer.
Purge the assignments list upon state entry and property restore.
Change-Id: I54a56885a2905178ab6aa5cf292b3d25c86b7a97
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
Laszlo Papp [Mon, 9 Jul 2012 20:59:21 +0000 (21:59 +0100)]
Use Q_DECL_CONSTEXPR for the QFlag's inline constructor
Change-Id: I8f9c7bf0fddb79c6c0937e415c427a0547a5cab0
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Marc Mutz [Mon, 7 May 2012 17:45:12 +0000 (19:45 +0200)]
QtGui: declare some classes as shared
Change-Id: I0ebb0ca8b8edcecc939021407d1755693f97e553
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
Laszlo Papp [Sun, 8 Jul 2012 12:48:12 +0000 (13:48 +0100)]
Use factor and divisor wording to be consistent with the documentation and rest
Change-Id: If05bdcba8f94f4220bae4c40dc5fc3cf44ee41a0
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
Laszlo Papp [Fri, 6 Jul 2012 14:56:59 +0000 (15:56 +0100)]
Extend the sync profile with generating forward header for qnumeric.h
Change-Id: I3195758e02e26258f1a1ad888e0a069d62b66a53
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Kent Hansen [Sat, 7 Jul 2012 02:13:21 +0000 (04:13 +0200)]
statemachine: goToState() should require that the machine is running
goToState() is an internal function. Allowing both goToState() and
machine.setInitialState() to be used to set the initial state of the
machine complicates the logic of QStateMachine::start().
The existing tests for goToState() still pass.
Change-Id: Ie831b4c869848f7f4c3e6bd576cf298a9799eb22
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
Harald Fernengel [Mon, 9 Jul 2012 09:39:10 +0000 (11:39 +0200)]
Speed up QCoreApplication construction a bit
Remove all QString conversions during QCoreApplication construction on
Linux. Saves multiple mallocs.
Change-Id: Ia8ba071a750dd6a08dcf14ef3ecc424f70a3098d
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Alexey Chernov [Mon, 2 Jul 2012 19:14:31 +0000 (23:14 +0400)]
Color transparency support in html import/export
Export of color transparency component is added for cases where color
is exported to html. New static function colorValue() is added to
prepare CSS string representation of QColor. When the color is opaque,
it falls down to QColor::name() method which was used previously,
otherwise it returns 'rgba()' CSS statement or 'transparent' keyword in
case transparency is 0.
6-digit precision is used for alpha value as it's maximum which can be
processed properly by Gecko and Webkit engines
(http://lists.w3.org/Archives/Public/www-style/2009Dec/0295.html).
Import part for rgba() statement was also added to QCssParser. It
supports rgba() color values as stated in CSS Color Module Level 3
(http://www.w3.org/TR/css3-color/#rgba-color).
Import of undocumented statement 'rgba(int,int,int,int);' was also
added to preserve regression test success and to provide compatibility
with previous code relying on this behaviour.
Test cases added to QCssParser autotest for rgba(int,int,int,float)
statement and to QTextDocument autotest for rgba(int,int,int,float)
and 'transparent' statements for certain 'color', 'background-color'
and 'bgcolor' properties.
Change-Id: Id341c4e800249820d52edef8003e50f9a74d062b
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
Eskil Abrahamsen Blomfeldt [Mon, 9 Jul 2012 13:52:13 +0000 (15:52 +0200)]
Support fallback fonts in DirectWrite font engine
When selecting fallback fonts for a DirectWrite font, we would
cast the font engine to QWindowsFontEngine and get unpredictable
results and crashes. This change factors out getting the LOGFONT
data from the QFontDef struct and will use this to create a new
DirectWrite engine.
Task-number: QTBUG-22658
Change-Id: I743944d9a44d8742b47b1aa3354532493362cc4a
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
Marc Mutz [Mon, 7 May 2012 17:45:40 +0000 (19:45 +0200)]
QtDBus: declare some classes as shared
Change-Id: I82f8d8d02f4a5276924f579871547c0a34605424
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Marc Mutz [Thu, 5 Apr 2012 14:42:41 +0000 (16:42 +0200)]
Q_DECLARE_SHARED: mark the type movable
All implicitly shared classes are by definition movable,
so this patch adds Q_DECLARE_TYPEINFO(Type, Q_MOVABLE_TYPE)
to Q_DECLARE_SHARED.
Change-Id: Idf8989ae1a7ed6d1ac13fccb7eaef7395a875350
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Marc Mutz [Fri, 4 May 2012 13:27:56 +0000 (15:27 +0200)]
QtCore: mark some classes as shared
Change-Id: I811d3eebd87c230883cc579c20f9fa4e14ff9521
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Marc Mutz [Fri, 6 Jul 2012 13:58:00 +0000 (15:58 +0200)]
fix compilation with conforming compilers (e.g. GCC >= 4.7)
In qdbus_cast(), qMetaTypeId<QDBusArgument> as well as
qvariant_cast<QDBusArgument> are used. They don't depend
on any template argument of qdbus_cast(), so their
definitions need to be available at function template
definition instead of instantiation time.
But the necessary Q_DECLARE_METATYPE(QDBusArgument)
was at the end of the header, after the defintion of
qdbus_cast(), which is too late for conformin compilers.
Fixed by moving it up just after the QDBusArgument
definition.
Similarly, in tst_qdatetime and tst_qvector, the
Q_DECLARE_METATYPE() for Qt::DateFormat and QVector<int>,
and with it the specialisation of QMetaTypeId<>, were
issued after the first use of meta typing; too late for
conforming compilers.
Change-Id: I25ca0b06e68d5184597a22708404a8f2040b2de1
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Laszlo Papp [Sun, 8 Jul 2012 11:49:05 +0000 (12:49 +0100)]
Make the x() and y() method documentation consistent with the rest
Change-Id: I24d34fe32e2ed7673ba525db0543e705d08037c4
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
Laszlo Papp [Sun, 8 Jul 2012 11:23:45 +0000 (12:23 +0100)]
Add note and references to the operator*=() methods for consistency
Change-Id: Ic2681e1db39a30619d3b2a906595cdbdd0e766d6
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
Konstantin Ritt [Mon, 9 Jul 2012 01:30:28 +0000 (04:30 +0300)]
Optimize QFontMetrics:: boundingRect() and left/rightBearing()
by avoiding unneeded metrics calculation.
Same optimization for QFontMetricsF.
Change-Id: I7fd0caa2ddb45862ee9e9c0519a71b03bcd0cb6f
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Konstantin Ritt [Mon, 9 Jul 2012 14:08:54 +0000 (17:08 +0300)]
Fix the UCS-2 surrogates handling in Q*FontEndine*::stringToCmap()
by making sure QGlyphLayout's numGlyphs member is properly initialized
if the string-to-glyphs lookup was successful
(tip: a surrogate pair produces a single glyph index).
Change-Id: I01953f3b6281d79e1a214bfab0424e796d94769a
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Konstantin Ritt [Mon, 9 Jul 2012 14:06:33 +0000 (17:06 +0300)]
Optimize Q*FontEngine*::stringToCMap()
by avoiding the glyph metrics calculation when those metrics weren't requested
(QFontEngine::GlyphIndicesOnly flag has been passed).
As a side effect, this fixes a crash in case QGlyphLayout
was initialized only partially (with the glyphs array and the size).
Change-Id: I7d67abc2a74683131361fa21f8be203f61f247bc
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>