Commit Graph

4788 Commits

Author SHA1 Message Date
Friedemann Kleint
7e14e69fd5 Stabilize tst_QAbstractItemView::task250754_fontChange().
Increase window size when verifying that the scrollbar disappears
when using a small font on Windows 8.1

Change-Id: I7d4520bc5882d8ccd59db3f5bff7e9d6d68a4827
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
2014-04-30 16:53:55 +02:00
Daniel Molkentin
ae7bbe3400 Provide new API: QSslCertificate::isSelfSigned()
Change-Id: I382a017a0b865b849667301aff8b2f87b676ecc6
Reviewed-by: Richard J. Moore <rich@kde.org>
2014-04-30 01:30:08 +02:00
parihaaraka
f1eefd6cf9 Fix PSQL column's metadata
Fixed libpq's PQfmod() interpretation inside QPSQLResult::record()

Task-number: QTBUG-12477
Change-Id: I0e4c94ca1b06fd6a8e5b5702235cdd6d9736f8bf
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
2014-04-29 14:42:26 +02:00
Friedemann Kleint
f3bc9f5c5c Add locations AppDataLocation, AppLocalDataLocation to QStandardPaths.
On Windows, DataLocation currently returns the value obtained by
passing CSIDL_COMMON_APPDATA to SHGetSpecialFolderPath(). This is
the local non-roaming path. For actually storing settings, the roaming
path should be used (CSIDL_APPDATA). Introduce new AppDataLocation to
return that path and AppLocalDataLocation for the local path and deprecate
DataLocation.

[ChangeLog][QtCore][QStandardPaths] QStandardPaths now has new
enumeration values AppDataLocation, AppLocalDataLocation to be able
to differentiate between roaming and local paths on the Windows
operating system. DataLocation is deprecated in favor of AppDataLocation.

Task-number: QTBUG-38483
Change-Id: Ib1de8c7031a863ed5eac10c747de6f7ff1a090c7
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: David Faure <david.faure@kdab.com>
2014-04-29 12:28:16 +02:00
Friedemann Kleint
9f6a0300a5 Observe case insensitive file systems in QFileDialog::selectFile().
When stripping the root path from a file name that cannot be found
in the model, use case sensitive comparison depending on
file system.

Task-number: QTBUG-38162
Change-Id: I28e28973fca2da35a5768fdd00cc258b9669a15a
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2014-04-29 03:27:26 +02:00
Frederik Gladhorn
386292837b Add press action to QAccessibleCombobox
VoiceOver expects press to open the combobox.

Task-number: QTBUG-37922
Change-Id: Iee7b7974db097e4e2444202c703bd587e1576fe0
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2014-04-28 22:25:50 +02:00
Laszlo Agocs
33d0a8d753 Remove direct OpenGL calls from QtOpenGL
Task-number: QTBUG-36483
Change-Id: I96dea5649c0a49a11cd2ff31da659cd2067e769d
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-04-28 18:19:34 +02:00
Friedemann Kleint
d7d12bc1eb Fix crash when accessing QFileDialog::selectedFiles() before widgets exist.
Discovered while investigating:

Task-number: QTBUG-38414
Change-Id: I764195254ba4b54c86079c6e8ef750d6249960d9
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2014-04-28 13:47:40 +02:00
Israel Lins Albuquerque
3e6e70bddd [QSqlQuery] misbehavior of seek in special query positions
When QSqlQuery::at() == QSql::BeforeFirstRow and seek(1, true) (seek to
next record) is called the expected result is go to first row.
When QSqlQuery::at() == QSql::AfterLastRow and seek(-1, true) (seek to
previous record) is called the expected result is go to last row.

But in all cases the first and last are skipped.

Change-Id: I584138b3d397ce1c790bf89688ee92289a99611c
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
2014-04-26 20:22:42 +02:00
Peter Hartmann
8369f6d3ea QTcpSocket auto test: Temporarily disable Socks5 tests
... because they are too unstable. We can check whether they are more
stable once the new network tests server is in place.

Task-number: QTBUG-38385
Change-Id: I5ced7cc1f89290812aa88f174a41965fd2ef7252
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
2014-04-25 10:55:31 +02:00
Frederik Gladhorn
dda9b5325f Add missing #ifndef QT_NO_SSL
Change-Id: I2912dcca77270582f6e989b8b3fb72b82f6f70d6
Reviewed-by: Peter Hartmann <phartmann@blackberry.com>
Reviewed-by: Richard J. Moore <rich@kde.org>
2014-04-25 10:55:31 +02:00
Jani Heikkinen
16501e32eb Merge "Merge remote-tracking branch 'origin/release' into stable" into refs/staging/stable 2014-04-25 10:55:31 +02:00
Laszlo Agocs
f9d323279a Rename new QOpenGLContext APIs
isES() becomes isOpenGLES(). The library type enums are changed
DesktopGL -> LibGL and GLES2 -> LibGLES. This removes the now
unnecessary version number, the confusing "desktop" term and provides
better readability.

The old function/values are kept until the related qtdeclarative
changes are integrated.

Task-number: QTBUG-38564
Change-Id: Ibb0a1209985f1ce4bb9451f9b7b093c2b68a6505
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2014-04-25 10:07:45 +02:00
Friedemann Kleint
61ce16d25c Stabilize tst_qfilesystemmodel::rowsInserted() on Windows.
Introduce QTRY_COMPARE to let the sorting finish instead
of a hard-coded time-out.

Task-number: QTBUG-29403
Change-Id: I813bf6bcfe7110f49a5b95db589ed8a3f559db89
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2014-04-25 06:58:27 +02:00
Friedemann Kleint
403a9d97d6 Stabilize tst_qfilesystemwatcher::watchFileAndItsDirectory().
Use QTRY_COMPARE for dirChangedSpy, remove all unneeded
remove()/setPermission() calls (originating from the time
the test did not use QTemporaryFile), add more QVERIFY()
and messages for the other operations.

Task-number: QTBUG-30943
Change-Id: Ib3b78b1c6922539fd5e9238aa017fcdb554aacc8
Reviewed-by: Sergio Ahumada <sahumada@blackberry.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
2014-04-25 06:58:27 +02:00
Friedemann Kleint
d8cd99992f Stabilize tst_qfiledialog.
selectFile(): Ensure dialog is destroyed before the temporary file
to prevent leak.

selectFiles(): Introduce scopes to prevent co-existence of 2
instances of QFileDialog, which causes warnings from file watchers
and occasional crashes in accessibility.

Discovered while investigating:

Task-number: QTBUG-38414
Change-Id: I94d2bb3e05538416286641cb08a88d8b3837a8a6
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2014-04-25 06:58:27 +02:00
Olivier Goffart
89ecac4607 QSqlError: Mark deprecated functiond with QT_DEPRECATED
And move the default argument from the deprecated constructor to
the new one

Also make sure that the error number is consistent across the
two constructor

Change-Id: I3721266b39ab493f0add35b2d1f892b2f6094992
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2014-04-25 06:37:06 +02:00
Thiago Macieira
ec74461e9d Ensure we try the UTF-8 conversions with longer strings
The SSE2-based conversion only kicks in with strings with 8 characters
or more in length.

Change-Id: Ic1daad0845571be03547553cc001d83550f0c89c
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2014-04-25 01:27:33 +02:00
Thiago Macieira
9a07ea69d6 Again to fix compilation after b0afad8f0b
Commit 125bb81bef wasn't enough. Let's
just make it simpler and use a regular function.

Change-Id: I9627dedaa87873b4b138224afd182e4fd9a55265
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2014-04-25 01:27:19 +02:00
Thiago Macieira
e57b521d95 Deprecate setSharable in Qt containers
The ability to set a container to be unsharable has very little use and
it costs us an extra conditional for every refcount up and possibly
down.

This change is a no-op for current Qt 5. It shuffles a few things around
just so Qt can compile if you define QT_NO_UNSHARABLE_CONTAINERS. That
is done to ease the fixing of the code in Qt 6 and to make my life
easier: I'll keep that defined in my local Qt build so I can catch any
misuses of this deprecated API.

The newly deprecated methods are not marked QT_DEPRECATED because the
bootstrapped tools wouldn't build -- they're built with QT_NO_DEPRECATED
defined, which causes build errors.

[ChangeLog][QtCore] The setSharable() and isSharable() functions in Qt
containers has been deprecated and will be removed in Qt 6. New
applications should not use this feature, while old applications that
may be using this (undocumented) feature should port away from it.

Discussed-on: http://lists.qt-project.org/pipermail/development/2014-February/015724.html
Change-Id: I789771743dcaed6a43eccd99382f8b3ffa61e479
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2014-04-24 10:49:10 +02:00
Thiago Macieira
f56ef579ba Restore handling of BOMs in QString::fromUtf8
8dd47e34b9 removed the handling of the
BOMs but did not document it. This brings the behavior back and adds a
unit test so we don't break it again.

Discussed-on: http://lists.qt-project.org/pipermail/development/2014-April/016532.html
Change-Id: Ifb7a9a6e5a494622f46b8ab435e1d168b862d952
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2014-04-24 10:47:49 +02:00
Thiago Macieira
02a9f065c5 Autotest: fix use of dangling pointer
The "data" pointer became technically dangling after line 1866 did
    copy = data;
as copy was the last reference to the original data. That made the
pointer address available to be reused by the system malloc(), which
sometimes happened, causing the unit test to fail.

Discussed-on: http://lists.qt-project.org/pipermail/development/2014-April/016588.html
Change-Id: Ifa6a27bd53a6e60392b77a6609f2d47148695211
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2014-04-24 10:37:21 +02:00
Laszlo Agocs
af1e32426c Add public and QPA APIs for adapting existing OpenGL contexts
For now only xcb on GLX is supported. Other platforms will follow later.

Add also some missing documentation for the platform OpenGL context factory
functions.

[ChangeLog] QOpenGLContext is now able to adopt existing native contexts.

Task-number: QTBUG-37552
Change-Id: I5dd959f102df178f646b2df5989203b5dc6de376
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
2014-04-24 09:10:29 +02:00
Keith Gardner
6fc7d76e73 QSignalSpy: Added template function pointer constructor
Added the function pointer constructor to QSignalSpy to take advantage
of the new connect syntax.

Change-Id: I94218a096c677cdba73e1b2cfa8b9c09bc28145f
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Jason McDonald <macadder1@gmail.com>
2014-04-23 22:26:00 +02:00
Jorgen Lind
eb88aaa3a2 Introducing QPixelFormat
Its purpose in life will be to describe pixel formats

[ChangeLog][QtGui] Added QPixelFormat class

Change-Id: I74d8f974606520efb3935110ff3d6ddb5ea805a8
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2014-04-23 21:43:50 +02:00
Jędrzej Nowacki
33fae8b147 Build fix for auto-registration of Container<void*>
IteratorOwner pointer specialization was failing for void* because of
an invalid function overload.

Change-Id: I80355ddd2b871c1fa2fa5bf5a4ed8bc7768fc3c9
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2014-04-23 21:40:36 +02:00
Jani Heikkinen
54c1e5ed22 Merge remote-tracking branch 'origin/release' into stable
Change-Id: Id13b4a3803664692f32f9d57549be8a0c4a08567
2014-04-23 12:42:48 +03:00
Laszlo Agocs
4dbef58c3d Restore Qt 4 behavior in default double click handler
Revert 3bb9024952. That fix was an attempt
to handle the issue that has been fixed in 5.3 by
9063edef79 and should have been reverted
when the new approach, that restores Qt 4 behavior for widgets, was
introduced.

Task-number: QTBUG-38242
Task-number: QTBUG-36423
Change-Id: I8f8a82da22605fac90543492e9b2cd2b568544e7
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-04-17 10:59:13 +02:00
Jorgen Lind
50b8506eac XCB: fix that modal dialogs can go behind other process windows
Task-number: QTBUG-35302
Change-Id: I1ad7a66e530710d5338a15057254360dae676451
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2014-04-16 09:30:32 +02:00
Volker Krause
d953d9a4c3 Add a more reliable replacement for qt_add/removeObject().
These hooks only worked reliably with LD_PRELOAD on Linux/GCC, on other
platforms they depended on what exactly the compiler optimizer is doing
as well as some nasty assembler rewriting to actually access them. The
new system uses a simple array of function pointers that can be set to
custom hooks by tools that need this (based on ideas from Andre Poenitz).

This also covers qt_startup_hook (similar problem), and the Qt version
number that Andre had asked for.

Change-Id: I2c3e7950fd49b1b1d04176be34c2fff3293981b0
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2014-04-15 17:50:20 +02:00
Jędrzej Nowacki
78a1c46a86 Mark each QT_MOC_LITERAL usage with a comment
The comment shows to which string a QT_MOC_LITERAL is pointing.

Change-Id: Ia389d750b1b1c21e2242bad6beceea4f9298ff8e
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2014-04-15 14:55:20 +02:00
Friedemann Kleint
ff2dbe609e Fix crash when deleting top level windows embedded into QGraphicsProxyWidget.
Clear proxyWidget pointer in slot
QGraphicsProxyWidgetPrivate::_q_removeWidgetSlot().

Task-number: QTBUG-29684
Task-number: QTBUG-33213
Change-Id: Ibdbd52aa810ca908e3d98daa00954345e7a93a48
Reviewed-by: Andreas Aardal Hanssen <andreas@hanssen.name>
2014-04-14 22:25:08 +02:00
Fabian Bumberger
c3bd4d08b0 QNX: Skip QGLBuffer autotest
see QTBUG-38275

Change-Id: If9a329b07f83ace77b05336d16534032310e0f82
Reviewed-by: Sergio Ahumada <sahumada@blackberry.com>
2014-04-14 20:03:30 +02:00
Fabian Bumberger
4a169ac015 QNX: Fix QDockWidget autotest
Show translates to showFullScreen on some platforms. This patch
replaces show with showNormal in the "task248604_infiniteResize" test.
On BlackBerry the test is skipped because all top level windows are forced
fullscreen by the platform.

Change-Id: Ia974c3fcbd0c71c107f4cc3f8405b8ef79ffb5b7
Reviewed-by: Sergio Ahumada <sahumada@blackberry.com>
2014-04-14 20:03:30 +02:00
Fabian Bumberger
3cc84f210a BlackBerry: Fix QDoubleSpinBox autotests
Change-Id: I380e983294c4467ad79f0835c05387a0ee155eb5
Reviewed-by: Sergio Ahumada <sahumada@blackberry.com>
2014-04-14 20:03:30 +02:00
Fabian Bumberger
56da768c59 QNX: Fix QComboBox autotest
Change-Id: I9fe4da6e02921c0474bf7ef31a2ba14e751584bf
Reviewed-by: Sergio Ahumada <sahumada@blackberry.com>
2014-04-14 20:03:30 +02:00
Fabian Bumberger
571c16555b QNX: Fix QMdiArea autotests
Change-Id: I1c4b0bbe4984182c217ee97957e2f21f43caf116
Reviewed-by: Sergio Ahumada <sahumada@blackberry.com>
Reviewed-by: Bernd Weimer <bweimer@blackberry.com>
2014-04-14 16:47:51 +02:00
Fabian Bumberger
bf2fa58c02 QNX: Fix QGuiApplication autotests
On QNX a window can only be activated if it has either a egl surface
or a raster backingstore.

Change-Id: If075093e39f1553eb8b25e35f7d372b1b15aa8af
Reviewed-by: Sergio Ahumada <sahumada@blackberry.com>
2014-04-14 16:47:51 +02:00
Fabian Bumberger
9cae7b5ee2 QNX: Fix QWizard autotest
In "task177022_setFixedSize" show was replaced with showNormal because on QNX
and some other platforms show translates to a showFullScreen.
For BlackBerry the test is skipped because the first top level window
is always forced into fullscreen mode.

Change-Id: I9df37c6bc47b47cbad4a1623b3eafa723abc6714
Reviewed-by: Bernd Weimer <bweimer@blackberry.com>
Reviewed-by: Sergio Ahumada <sahumada@blackberry.com>
2014-04-14 16:47:51 +02:00
Fabian Bumberger
ff34070709 QNX: Fix QTreeView autotest
The style is dpi dependent. I.e. on high dpi displays the pixel size of
sections and rows of a QTreeView will be larger.

Change-Id: I7477bfdd641d4db67973cafef5147f026f72c111
Reviewed-by: Bernd Weimer <bweimer@blackberry.com>
Reviewed-by: Sergio Ahumada <sahumada@blackberry.com>
2014-04-14 16:47:51 +02:00
Konstantin Ritt
0ec07b68ad Improve the Unicode script itemization implementation
Make it closer to the Unicode specs (UAX#24):
* Common now inherits the preceding character's script, if any;
* In a combining character sequence, if the base character is
  of Common script, the entire sequence is treated like if it were
  of the first non-Inherited, non-Common script in the sequence.
See http://www.unicode.org/reports/tr24/tr24-21.html for more details.

[ChangeLog][QtGui] Fixed regression in arabic text rendering.

Task-number: QTBUG-28813
Task-number: QTBUG-29930 (related)
Task-number: QTBUG-35836
Change-Id: Id85761965b08ca94c674d5f3613fe58b82b2ce9c
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
Reviewed-by: Ahmed Saidi <justroftest@gmail.com>
2014-04-14 06:43:57 +02:00
Konstantin Ritt
ef77c16cb0 Make HarfBuzz-NG the default shaper on Mac
For AAT shaping support, we need either the pre-QPA shaping trick
or the new HarfBuzz on Mac; prefer the latter.
Disable some test cases aimed to test the HB-old behavior; enable ones
that should guarantee shaping-unaware behavior.

[ChangeLog][OS X] Use CoreText text shaping engine for support of
complex scripts. If required, the shaping engine used in previous
versions can be preferred by configuring Qt with -no-harfbuzz.
Alternatively, the QT_HARFBUZZ environment variable could be set to "old".

Task-number: QTBUG-18980 (relates)
Task-number: QTBUG-38246
Change-Id: Iee6fe4f5bc047e77259182b8585385c5febd02b3
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2014-04-14 06:43:54 +02:00
Marc Mutz
4c1e15548a Merge "Merge remote-tracking branch 'origin/stable' into dev" into refs/staging/dev 2014-04-11 23:01:43 +02:00
Marc Mutz
d5b7b4e41c QStringList: add op= overloads for QList<QString>
QStringList = QList<QString> already compiled, but was interpreted as
QStringList = QStringList(QList<QString>), which involves the QList
copy ctor. Adding the overload saves that copy.

Cannot use a using declaration here, since the return type is different.

Change-Id: I9f4feb2f97480d2d6a3b6fa7c71b5d511b623601
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-04-11 22:54:40 +02:00
Frederik Gladhorn
98d3e40fb7 Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
	mkspecs/qnx-armv7le-qcc/qplatformdefs.h
	src/printsupport/kernel/qcups.cpp
	src/widgets/styles/qstyle.h
	tests/auto/widgets/itemviews/qlistwidget/tst_qlistwidget.cpp

Change-Id: Ia41e13051169a6d4a8a1267548e7d47b859bb267
2014-04-11 14:36:55 +02:00
J-P Nurmi
b2a6c9ec3e Fix tst_QListWidget::task217070_scrollbarsAdjusted()
QMacStyle::styleHint(SH_ScrollBar_Transient) wants either a style
object or the widget argument in order to return correct values.

Change-Id: I2fdef0820334fa66e076a4734eb2a30c722c841c
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2014-04-09 20:53:06 +02:00
Fabian Bumberger
cf439ae331 QNX: Fix QCompleter autotest
The tests expect a home folder which usually is not present on QNX

Change-Id: I44f548a95f14414c0db6f752fd115696069a7b90
Reviewed-by: Sergio Ahumada <sahumada@blackberry.com>
2014-04-09 20:53:06 +02:00
Richard J. Moore
814a1c7b2b Support for DH and ECDH key exchange for QSslSocket servers
Despite supporting DH and ECDH key exchange as a client, Qt did not provide
any default parameters which prevented them being used as a server. A
future change should allow the user to control the parameters used, but
these defaults should be okay for most users.

[ChangeLog][Important Behavior Changes] Support for DH and ECDH key exchange
cipher suites when acting as an SSL server has been made possible. This
change means the you can now implement servers that offer forward-secrecy
using Qt.

Task-number: QTBUG-20666
Change-Id: I469163900e4313da9d2d0c3e1e5e47ef46320b17
Reviewed-by: Daniel Molkentin <daniel@molkentin.de>
Reviewed-by: Peter Hartmann <phartmann@blackberry.com>
2014-04-09 20:53:06 +02:00
Friedemann Kleint
1a6410f91f Change QVERIFY in tst_qnetworkreply to warning.
FAIL!  : tst_QNetworkReply::ioPostToHttpUploadProgress() 'args.at(0).toLongLong() != sourceFile.size()' returned FALSE. ()

Task-number: QTBUG-37449
Task-number: QTBUG-24226
Change-Id: Idcc0ceac0332705b1e3a073d40fa8098bea2c9f3
Reviewed-by: Richard J. Moore <rich@kde.org>
Reviewed-by: Peter Hartmann <phartmann@blackberry.com>
2014-04-09 20:53:06 +02:00
Fabian Bumberger
b490116f82 QNX: Fix QHeaderView autotest
Some margines and sizeHints are DPI dependent on QNX and BlackBerry.
This patch skips two test that expect the section size to be of a
certain pixel size.

Change-Id: I7869f77fc2b623e091f53e420d1a4fdb3ec30724
Reviewed-by: Bernd Weimer <bweimer@blackberry.com>
Reviewed-by: Sergio Ahumada <sahumada@blackberry.com>
2014-04-09 20:53:06 +02:00
J-P Nurmi
82934f11e0 Stabilize tst_QListWidget
Replace weird QEventLoop hacks by sending all posted deferred delete
events.

Change-Id: I6da743f2b3fb6ef5dfc960dd3d752973cd511037
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-04-09 10:47:06 +02:00
Simo Fält
1d58ec346a Android: Add some ci usage features to Android testrunner
Added new options:
- silent to suppress the noice from ext tools, making it easier to
parse failed test cases.
- ci, to check test insignificance. Requires QMake::Project cpan
module if used.

Also added printing out results after each test as well as full
summary after test run is complete.

Task-number: QTQAINFRA-641
Change-Id: Ie5f02710a939f7526e0dd39979a0cd97ed19f55b
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2014-04-09 10:46:40 +02:00
Frederik Gladhorn
ccdfe354a6 Accessibility Mac: Cache Accessible Elements and Notify about changes
The big change is that we now keep the id objects representing accessibles
around so that they are persistent for ATs.
This improves performance of Mac accessibility significantly.

This is required for notifications which are now sent so that many things work much better,
for example the VoiceOver focus follows the keyboard focus.

The parent element in QCocoaAccessibleElement was removed, we can
dynamically access it more reliably.

Change-Id: I686d212f40d28b392dcc22f16f3c3430f08bdc98
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2014-04-09 10:46:02 +02:00
Friedemann Kleint
7d012552b0 Add diagnostic output to tst_QtConcurrentIterateKernel.
Add messages to comparisons and expect failure of blockSize()
on Windows.

Task-number: QTBUG-37822

Change-Id: Ie71d35a3d1ba0e52c93d5ba3fd7e92465b170d49
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2014-04-09 10:43:32 +02:00
Marc Mutz
c7dd6006b9 QPageLayout: provide op!=
For consistency.

Change-Id: I20fb70999785e2c1947f033d63367a2f6746990a
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: John Layt <jlayt@kde.org>
2014-04-08 22:07:01 +02:00
Marc Mutz
22afdaa2da QPageSize: provide op!=
For consistency.

Change-Id: I4375a6f8c2514479a7479c735d397bf8a9876db1
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: John Layt <jlayt@kde.org>
2014-04-08 22:06:38 +02:00
Bernd Weimer
f6dce4c858 QNX: Fix QGraphicsView autotests
On BlackBerry first window is always shown full screen. However, many
tests rely on a specific window size. A dummy full screen window is
created so subsequent windows have correct size.

Change-Id: Id8bd0212b6eca677953e78505459e3cd69bc6328
Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
2014-04-08 09:50:24 +02:00
Marc Mutz
d9077669a1 tst_QTreeView: fix use of uninited variable
Valgrind complained:

==13941== Conditional jump or move depends on uninitialised value(s)
==13941==    at 0x4206FC: tst_QTreeView::styleOptionViewItem()::MyDelegate::paint(QPainter*, QStyleOptionViewItem const&, QModelIndex const&) const (tst_qtreeview.cpp:3062)
[...]

Change-Id: I76da01c191415ba0a00b4b85312f2fe08e4ee2d2
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-04-07 23:41:30 +02:00
Peter Hartmann
9c2ecf89eb network: finish all pending replies upon error
... and not only one. This was a problem e.g. when there were several
requests to the same host and the host was not reachable; only one
reply would get an error signal in case we suppressed other errors in
"happy eyeballs" host lookup style.

Task-number: QTBUG-36890

Change-Id: I1b5757498bd644b0d773cf6c43e4950620949c5c
Reviewed-by: Richard J. Moore <rich@kde.org>
2014-04-07 17:57:42 +02:00
Marc Mutz
509428decc Stabilize QListWidget test
Shot in the dark, as usual.

Change-Id: I272392e6d865f6b32047c3a0ebad70c0f007ba58
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-04-07 12:11:14 +02:00
Shawn Rutledge
b5eb850e0d OSX: add several menuitem roles to support menu shortcuts in dialogs
Now menu items and key shortcuts for Cut, Copy, Paste and Select All
work in the standard ways in dialogs such as the file dialog, provided
that the corresponding QActions have been created and added to the menu.
This depends on new roles to identify each menu item which is so
broadly applicable that it should work even when a native widget has
focus; but the role will be auto-detected, just as we were already
doing for application menu items such as Quit, About and Preferences.
When the QFileDialog is opened, it will call
redirectKnownMenuItemsToFirstResponder() which will make only those
"special" menu items have the standard actions and nil targets.  When
the dialog is dismissed, those NSMenuItems must be reverted by calling
resetKnownMenuItemsToQt(), because to invoke a QAction, the NSMenuItem's
action should be itemFired and the target should be the
QCocoaMenuDelegate.

Task-number: QTBUG-17291
Change-Id: I501375ca6fa13fac75d4b4fdcede993ec2329cc7
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2014-04-07 08:30:24 +02:00
Frederik Gladhorn
cc57a2e90f Accessibility text updates for QTextEdit
For Mac this makes QTextEdit work nicely with VoiceOver.

Task-number: QTBUG-37204

Change-Id: I1326d24ca6a932ad667ee395f62881b6ec64e892
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2014-04-05 21:48:31 +02:00
John Layt
39c5098dbb QPrintDialog - Add Direct print to manual test
Enable printing without dialog.

Change-Id: I1058361febc7ddd8a5e0471e4365969e2f8becfe
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-04-05 21:48:03 +02:00
Thiago Macieira
f1540a2966 Fix capacity reservation for shared QByteArray
We can squeeze, but not by discarding elements. Make sure the size of
the object stays intact after changing the reserved capacity.

I've also added unit tests for other containers, just to be sure.

Task-number: QTBUG-37750
Change-Id: I5135b095943b7589423c51cebcb52af792468e61
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
2014-04-05 05:23:07 +02:00
Oswald Buddenhagen
a4ec90175c purge vestiges of opengl es 1 support
amends 0d5170256c.

Change-Id: Ifa178d38f602bb7c66ef13334673ff47e332af5b
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2014-04-04 19:32:21 +02:00
Thiago Macieira
964ac38fb0 Don't read before the beginning of the string
The code did discard the the data, so it wasn't affecting the comparison
result (tests added anyway), but it could cause crashes if the pointer
to the beginning of the data in the first 8 bytes of a page.

Change-Id: I618e68de329b65de34ef8c934934c3e631cc6c9f
Reported-By: Erik Verbruggen
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2014-04-04 19:32:21 +02:00
Konstantin Ritt
8c0919a286 Remove QtWidgets dependency from tst_QComplexText
It doesn't depends on windget for quite a long time already.

Change-Id: I251e2e0d52028d17a61c892308d099f344728e79
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2014-04-04 19:32:21 +02:00
Konstantin Ritt
c603a29550 Remove spurious #ifdef from tst_QComplexText
That #ifdef is placed before any include, so it has no effect.

Change-Id: I4bbf967bda720d287b363847669c5c7a22807bc4
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2014-04-04 19:32:21 +02:00
Konstantin Ritt
330f6e3598 QTextLayout: Fix cursor movement from invalid position
Actually guarantee cursor doesn't move in this case for both logical
and visual modes (just what the documentation says we already do ;)

Change-Id: Iabdca7aa1d205672386a0095e3487e585611cdb5
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2014-04-04 19:32:21 +02:00
Konstantin Ritt
0b5911f376 QTextLayout: Fix visual cursor movement in some cases
To guarantee proper positioning at the end of the last line in a
bidirectional text we have to insert the eol position into the
insertion points vector, accordingly to the visual ordering.
Detection of the last *logical* item in a *visual* line is unrelaed
to the text direction, it is simply `iterator.item == iterator.lastItem`.

[ChangeLog][QtGui][QTextLayout] Fixed visual cursor movement
in bidirectional text.

Task-number: QTBUG-18060 (partially related)
Change-Id: I53b6ab889ef580ab0560b620b808b1e09efc0fbd
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Ahmed Saidi <justroftest@gmail.com>
2014-04-04 19:32:21 +02:00
Fabian Bumberger
bf05df9a23 BlackBerry: Fix QListView autotest
Change-Id: Id4967911d82cff86214665cc9ca3dbbefa69da11
Reviewed-by: Sergio Ahumada <sahumada@blackberry.com>
2014-04-04 19:32:21 +02:00
Fabian Bumberger
f3eb59e3fc Fix QTreeWidget autotest
Change-Id: I94b4d9d2f0ef013691faedc4cd12050aa49e98f2
Reviewed-by: Sergio Ahumada <sahumada@blackberry.com>
2014-04-04 19:32:21 +02:00
Friedemann Kleint
9a4beb4d36 Improve handling of temporary directories in SQL tests.
Initialize directory delayed in shared code and add checks to verify
that it is valid. Close attached / cloned databases to prevent locks
on files and leaking temporary directories caused by SQLite:

QTemporaryDir: Unable to remove "...\Temp\tst_qsqldatabase-P1XkOA" most likely due to the presence of read-only files.
QTemporaryDir: Unable to remove "...\Temp\tst_qsqltablemodel-P1XkOA" most likely due to the presence of read-only files.
QWARN  : tst_QSql::concurrentAccess() QTemporaryDir: Unable to remove "...\Temp\tst_qsql-l0VAKJ" most likely due to the presence of read-only files.

Change-Id: If85bbaed04bb1a32e427d642be332996d967f796
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2014-04-04 16:55:01 +02:00
aavit
758b9adccf Fix lance opengl painting test
Change b94493e revealed that in the lance script rendering, at the
surface_end command, cleaning up the fbo stuff and enabling the
ordinary painting again was done in the wrong order.

Change-Id: I358dafeffe95b25303fc2a8dc1d61384b2ca64fb
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
2014-04-04 10:55:44 +02:00
Fabian Bumberger
11b8794456 Fix QTextEdit autotest
Change-Id: I2178f1bb09f334ac518ede8f08c5b9268ea0c505
Reviewed-by: Sergio Ahumada <sahumada@blackberry.com>
2014-04-04 10:40:25 +02:00
Fabian Bumberger
5947fda8fd QNX: Fix QAbstractItemView autotest
One problem was that tests expect the top-level window to have a certain size,
which is not possible on BlackBerry. Another problem was that certain elements have a
dpi dependent size which the task250754_fontChange test did not consider.

Change-Id: I465ebe234a74d6150cdcbb7fc7e458a62155e0d0
Reviewed-by: Sergio Ahumada <sahumada@blackberry.com>
2014-04-04 10:39:21 +02:00
Sergio Ahumada
d743443c04 BlackBerry: Fix tst_qdialog::show{Maximized,Minimized} tests
Using show() might result in showFullScreen() on some platforms,
so let's use setVisible(true) which has the same effect and seems
to be a more crossplatform solution.

Change-Id: I712584ace2adbe73b99e620a1ae5e88ff328fffb
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
2014-04-04 10:38:33 +02:00
Thiago Macieira
7b7c37ab94 Add a benchmark test for QCryptographicHash
Some quick benchmarks against GNU coreutils 8.21 and OpenSSL 1.0.1e
(time in µs; time for coreutils and OpenSSL include the loading of the
executable):

             Qt                 Coreutils                OpenSSL
n    SHA-1 SHA-224 SHA-512  SHA-1 SHA-224 SHA-512  SHA-1 SHA-224 SHA-512
0      0      0       0      717    716     700     2532   2553    2522
64k   120    484     381     927   1074     966     2618   2782    2694
Diff  120    484     381     210    358     266       86    229     172

The numbers for Qt are pretty stable and vary very little; the numbers
for the other two vary quite a bit, since they involve launching and
executing separate processes. We can take the lesson that we're in the
same ballpark for SHA-1 and we should investigate whether our SHA2
implementation is sufficiently optimized.

Change-Id: Ib081d002ed57c4f43741eca45ff5cd13b97b6276
Reviewed-by: Richard J. Moore <rich@kde.org>
2014-04-04 01:29:37 +02:00
Marc Mutz
b1d6af35a4 QWeakPointer: add member-swap
[ChangeLog][QtCore][QWeakPointer] Added member-swap function.

Change-Id: Ide3672dc74a9d8153e5f930290d938e8c23993b5
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-04-03 22:36:06 +02:00
Marc Mutz
e3a8e242ad QWeakPointer: add lock() for std::weak_ptr compatibility
[ChangeLog][QtCore][QWeakPointer] Added lock() method for std::weak_ptr compatibility.

Change-Id: I0851d91c51f5a4f04a855a1d8082234ce38396b4
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-04-03 22:35:57 +02:00
Jędrzej Nowacki
ef2a2a9c03 Optimize QColor::setNamedColor
This patch removes two memory allocations from the algorithm.

Change-Id: I9366f9c5ce02fb1cae8adfbd8dff36c7f23af2a7
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2014-04-03 22:35:48 +02:00
Fabian Bumberger
e39f30a0d2 Fix QTabBar autotest for high DPI displays
Change-Id: Ic50d7fb9eb3568f16dd1422c380a4ae7bb288a51
Reviewed-by: Sergio Ahumada <sahumada@blackberry.com>
2014-04-03 11:07:07 +02:00
Fabian Bumberger
cc5bd47163 Fix the QGridLayout autotest
One issue was that the text of a QPushButton would stretch the widget if the
platform font is to big. The other issue was that the autotest did not expect
that show might translate to a showFullScreen on some platforms.

Change-Id: I3a9903979d766d04c402fda309d0492cfa506ed6
Reviewed-by: Sergio Ahumada <sahumada@blackberry.com>
2014-04-03 11:07:07 +02:00
Fabian Bumberger
24656de7e6 Fix QPushButton autotest
In the sizeHint test the show command was replaced by showNormal.
This fixes the test an all platforms where show translates to
showFullScreen.

Change-Id: I307790a6987c61a57679094b26818383815036a0
Reviewed-by: Sergio Ahumada <sahumada@blackberry.com>
2014-04-03 11:07:07 +02:00
Kai Koehne
b11adb825c Logging: Be also more strict with value of logging rule
Only accept lower-case "true" and "false", as documented.

The old check didn't match either the documentation, nor the QSettings/
QVariant behavior (where, for a boolean value, any lower-cased content
that not empty, "0" or "false" is considered true).

Change-Id: I317d29c16a27f862001b9dff02e8298df8acf5a6
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
2014-04-03 11:07:07 +02:00
Mitch Curtis
78f6d144d6 Serialize QPicture using the latest QDataStream version.
The QDataStream version with which QPicture was previously serialized
with was hard-coded to 11 (Qt 4.5). This prevents features of
serializable types used by QPicture from being serialized if they
were added after Qt 4.5; namely features of QFont like
HintingPreference.

[ChangeLog][QtGui][QPicture] QPicture now serializes its data properly
by also accounting for QDataStream versions greater than Qt 4.5.

Task-number: QTBUG-20578

Change-Id: Idd27682b187f4d4a3695c52bbf68e84853c024a8
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2014-04-02 15:18:11 +02:00
Jędrzej Nowacki
3b18ea3cb8 Re-add missing test to kernel.pro
Patch 9a08483d76 introduced a regression,
tst_qmetatype test was not meant to be removed.

Change-Id: I5456ffbbd9d9f8e461f828c6183e46dabf67952b
Reviewed-by: Sergio Ahumada <sahumada@blackberry.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-04-02 03:07:12 +02:00
Fabian Bumberger
2c36469a16 QNX: Fix OpenGL autotest
On QNX grabbing the frame buffer returns the content of the back buffer.
In order to execute the OpenGL tests properly a swapBuffers is executed before
in order to be able to retrieve the content of the front buffer.

The patch also documents this platform behavior.

Change-Id: I7a501818ec6eea061f2f54f95854f68cb72e0534
Reviewed-by: James McDonnell <jmcdonnell@qnx.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2014-04-01 23:35:21 +02:00
Iikka Eklund
0ab63b035a Merge remote-tracking branch 'origin/stable' into dev
Change-Id: I2a6eb9dd7724931bc89f28bcc156e77c4e26d069
2014-04-01 11:44:27 +03:00
J-P Nurmi
0cb2c760c2 Item views: respect selection mode when closing an editor
Task-number: QTBUG-31411
Change-Id: I1a52eb739e0bc2afa7227f006461916df8ecaf48
Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
2014-04-01 05:27:00 +02:00
J-P Nurmi
cc08fc7bfd Item views: respect focus policy when closing an editor
Task-number: QTBUG-31411
Change-Id: Ib0a72755c35a553653ea014672d59979a550b7ae
Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
2014-04-01 05:26:50 +02:00
Marc Mutz
08b8f9d087 tst_QStringList: add more checks for removeDuplicates
Check whether a detach happened, and also check that non-consecutive duplicates
are properly removed.

Change-Id: Iac7a3d8fe5ed5a69a9a0b55ddbf95308f11122c2
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2014-03-31 22:54:14 +02:00
Marc Mutz
47d2d19cf6 QStringList: add op<< overload for QList<QString>
QStringList << QList<QString> already compiled, but was interpreted as
QStringList << QStringList(QList<QString>), which involves the QList
copy ctor. Adding the overload saves that copy.

Cannot use a using declaration here, since the return type is different.

Change-Id: I119cc98e7e2df24549a1abb158543b729edc30ef
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
2014-03-31 22:54:14 +02:00
Dimitar Asenov
3270b4490b Add a new optimization flag to QGraphicsItem.
The new flag ItemContainsChildrenInShape is similar to the existing
flag ItemClipsChildrenToShape. Setting the new flag makes QGraphicsScene
assume that children are drawn within the shape of the current item
but this is not enforced by clipping. When an application manually
ensures this clipping boundary, setting the new flag removes the
overhead of enforcing the clip with ItemClipsChildrenToShape, while
still allowing other routines to behave more optimially by assuming
children are within the shape of the current item.

[ChangeLog][QtWidgets][QGraphicsItem] Added the
ItemContainsChildrenInShape flag that enables using optimizations
of ItemClipsChildrenToShape without the overhead of enforcing the clip.

Change-Id: I5496fe1ca331b77fd51e0df8a3ace2b8e939eaf2
Reviewed-by: Andreas Aardal Hanssen <andreas@hanssen.name>
2014-03-31 22:54:14 +02:00
Friedemann Kleint
ebd8530cbc Make tst_qopengl more verbose.
Add more checks, compare size of converted images.

Task-number: QTBUG-31611

Change-Id: I995071f4be097c08aa2917be03fd7196882ae2c2
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2014-03-31 19:50:37 +02:00
Mitch Curtis
4f50be8d18 Properly serialize QFont.
Some data was never serialized (styleName, hintingPreference) and
some was incorrectly serialized (styleStrategy). This change also adds
auto tests for every applicable QDataStream version.

[ChangeLog][QtGui][QFont] QFont now serializes its data properly,
without any data loss.

Task-number: QTBUG-22814
Task-number: QTBUG-22946

Change-Id: I34e61b10662b7ad6c57054dacc7e1f522f5b5c5d
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
2014-03-31 17:45:47 +02:00
Mitch Curtis
bd822bedfe Merge "Merge remote-tracking branch 'origin/stable' into dev" into refs/staging/dev 2014-03-31 17:45:37 +02:00
Samuel Gaist
35a11d6fce OS X QSettings auto test/writing check update
This patch aims to provide an updated test that follows changes started
in 10.7: new rule is that only root can access SystemScope settings. It
also disables the sync() workaround code path which is at least not
executed during the tst_QSettings execution and returns wrong value to
the test.

From Apple's documentation:
"Note that modification of some preferences domains (those not
belonging to the “Current User”) requires root privileges (or Admin
privileges prior to OS X v10.6)—see Authorization Services Programming
Guide for information on how to gain suitable privileges"

https://developer.apple.com/library/mac/documentation/CoreFoundation/Reference/CFPreferencesUtils/Reference/reference.html

[ChangeLog][QtCore][QSettings] QSettings now returns the correct value
for isWritable() when using SystemScope settings.

Task-number: QTBUG-9824
Task-number: QTBUG-21062
Task-number: QTBUG-22745

Change-Id: Ib6a1490ec596b99d189ec4de9a0f28ecfd684172
Reviewed-by: Liang Qi <liang.qi@digia.com>
2014-03-31 12:12:21 +02:00
Marc Mutz
de10bf4955 QEvent: document and check when registerEventTypes() returns -1
In tst_QEvent, add a check that exhausts the available event type ids and verifies
that registerEventTypes() returns -1 in that case, as documented.

I haven't found a way to test the other case in which -1 is returned.

Since this test operates on a global write-only registry the new test case needs
to keep track of whether the earlier test cases have run successfully. If they
didn't, skip this test case.

Change-Id: I68ea9d17d10dcec22175994aba269dd09c9adf43
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-03-29 12:40:05 +01:00
Marc Mutz
ecdeaa4369 tst_QEvent: add another test-case for registerEventType()
A test for a hint > QEvent::MaxUser was missing.

Added.

Change-Id: I00c1c45f6673f35d4203df15b4ffc35f57273e46
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-03-29 12:36:27 +01:00
Israel Lins Albuquerque
075c876f9a [QtSql]QIBASE]add support for prepared queries in numRowsAffected
Prepared queries need to be handled as procedures.

Change-Id: I4b4d7743fe45c416ca83ceb942aa48d79731f2f8
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
2014-03-29 08:46:00 +01:00
Friedemann Kleint
0fadbc7ed9 tst_qaccessibility: Introduce QTRY_VERIFY to menuTest().
Fixes failures on Windows 8.1.

Task-number: QTBUG-37822
Change-Id: I30460f430e2249555c4e857237e27aa9b03dfa1b
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
2014-03-28 22:52:19 +01:00
Friedemann Kleint
27fa02e29d tst_qgraphicsproxywidget: Fix hang in actionsContextMenu().
Change the test widget to use a non-single-shot timer
to hide the menu once it has become visible.
The test shows hangs on Windows 8.1 CI nodes.

Task-number: QTBUG-37822
Change-Id: I8fc782e53256616119920aef714f89f25863b39f
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
2014-03-28 22:52:19 +01:00
Friedemann Kleint
b980df3f3c Stabilize tst_qtoolbutton for Windows 8.1.
Ensure triggered() and task176137_autoRepeatOfAction()
are using an active main window. Change click timer in
triggered() to repeat until the menu is visible and
add a timer to close the widget and bail out if the
simulated click fails to close the menu.

Task-number: QTBUG-37822
Change-Id: If675660d02335bffd5caa89796914924dad1a909
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@digia.com>
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
2014-03-28 22:52:19 +01:00
Leonard Lee
685f8fe550 Do not rely on the list of standard font sizes for QFontDialog.
QFontDialog should always show the correct size, even if the size
is not available in the list of standard font sizes. Native font
dialogs across common platforms show the correct size at all times.

Inside init() function, the size list requires proper initialization
since the initial value of size is zero.

Task-number: QTBUG-10317
Change-Id: Idc9e922ac95f797ac98bbf6c885e52828c4c48fd
Reviewed-by: Liang Qi <liang.qi@digia.com>
2014-03-28 22:52:19 +01:00
Lars Knoll
c4d8734c50 Avoid out of bounds memory reads when scaling images
The calculation of the width/height required for the
scaling algorithm was prone to floating point rounding
issues, where the lower value got rounded down, the higher
one rounded up. This could lead to a situation where we
iterated over one more line/pixel in the line than we have
in the source image.

Correct this by passing the dimension of the source image into
the function and bounds checking the values before iterating.

Task-number: QTBUG-35927
Change-Id: If44b2235a479224660d508a0504fec40d724763a
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2014-03-28 22:52:19 +01:00
Sergio Ahumada
d688b7c07c Deprecate QFont::setRawName() and QFont::rawName()
We don't support xlfd fonts anymore and indeed QFont::setRawName()
is an empty method.

[Changelog][QtGui] QFont::setRawName() and QFont::rawName() are
deprecated.

Change-Id: Ic52d42a9bc200ba8b246dd4e28c77f84e086dad5
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2014-03-27 22:02:39 +01:00
Erik Verbruggen
dd453adbe7 Mac: make FSEvents-based QFileSystemWatcherEngine more robust.
- Record the last event ID with every callback. This event ID is passed
to FSEventStreamCreate when restarting the stream, so the watcher will
receive all events that occurred since invalidating the previous stream.

- Never start with kFSEventStreamEventIdSinceNow, because this will
generate a (bogus) soft-assert in FSEventStreamFlushSync in CarbonCore
when no event occurred since stream creation. The last globally
generated event ID is used instead to simulate the "now".

- Do not dispose and recreate the stream in the callback, but use a
queued signal-slot connection to schedule this on thread that owns the
watcher.

Change-Id: I02f5a845d9e27f9853ed97925ab9c7a5bc0dede1
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2014-03-27 17:51:21 +01:00
Friedemann Kleint
9a9feab102 Check for administrative rights in tst_qsettings.
Introduce function checking whether the system settings in
native format can be written to. If not, default to user scope or
skip the respective tests instead of failing.

Task-number: QTBUG-37822
Change-Id: I330aff9b79bb22254216f022af807e010bc8e8ba
Reviewed-by: Andrew Knight <andrew.knight@digia.com>
2014-03-27 17:51:21 +01:00
Eskil Abrahamsen Blomfeldt
76eefbe8af Android: Fix missing data from some autotests
After a test ended, we would instantly try to fetch its output,
but at this point, it might still not be available through the
adb interface, probably due to some cache synchronization in the
file system? Adding an arbitrary three second pause between
finishing the test and requesting the file fixes this. If the
error pops up later again, we could do something more robust,
like going in a loop for X seconds until the file has been fetched.
Especially if detecting task finish was successful.

Task-number: QTBUG-37444
Change-Id: I5442e1e0181f489b0626834a390e46c15bc0b371
Reviewed-by: Simo Fält <simo.falt@digia.com>
2014-03-27 15:17:24 +01:00
Fabian Bumberger
74cade1ee4 Fix application font removal when using FontConfig
This patch fixes an issue when a font that was added with
QFontDatabase::addApplicationFont can not be removed any more.
The reason for that is that QFontconfigDatabase::addApplicationFont
adds the font to the FontConfig application set from where it
cannot be removed any more and is picked up every time the font database
is repopulated (e.g. after a call to QFontDatabase::removeApplicationFont).

This also fixes the QFontDatabase autotest which unfortunately does
not fail on linux, because it tries to add "FreeMono" (which in most
cases is already there as a system font). So this patch removes FreeMono
and adds LED_REAL as test font.

Change-Id: I70fc823075923aa426da1eb3e052affcc416e399
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2014-03-27 14:41:53 +01:00
Fabian Bumberger
7ca958eb61 QNX: Fix QWindow autotest
On QNX a actual platform window is not created unless the window is explicitly
postet (raster) or a swapBuffers (opengl) is executed.

Change-Id: Ia06b97ea1a477d59e78d74d895c5d6ba6dd86edf
Reviewed-by: Sergio Ahumada <sahumada@blackberry.com>
2014-03-27 14:41:28 +01:00
Frederik Gladhorn
f16d690a2f Accessibility Mac: Fix handling of top level widget
This simplifies how we handle QNSView for accessibility purposes.
Instead of trying to half-merge the top level widget
(window->accessibleRoot) into the view, just have the view
always return it as child.
This makes the accessibility implementation for QNSView simpler
and makes applications that show a top level widget such as a button
possible. (We would return accessibility ignored for the button before).

As a side effect finding the active focus and hit-testing should be more reliable as
well.
Task-number: QTBUG-37794

Change-Id: Ib52037f88da8887a0bdc77204b0f3daddfe7709d
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2014-03-27 14:37:16 +01:00
Laszlo Agocs
ad1c088a2a Fix the QOpenGL autotest's offscreen surface handling
Be more robust.

Change-Id: I0e37612681140530c81cfd0082cca61f0f21958c
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
2014-03-27 14:29:39 +01:00
Sergio Ahumada
eab7efd1ee Stabilize tst_QProcess::softExitInSlots()
This test takes more than 5000ms to finish some times, so waiting
for 10000ms should be enough to make it more stable on all
platforms.

  ../tst_qprocess.cpp:1072 :: [gui app]
  QTestLib: This test case check ("proc.waitedForFinished") failed because the requested timeout (5000 ms) was too short, 6150 ms would have been sufficient this time.

Change-Id: I266ad0e65bf3c84e73b7ca6543dc15335dad4c99
Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
2014-03-27 08:21:23 +01:00
Sergio Ahumada
5ee07bf691 Mark some tests as XFAIL on QNX
Extending this to stock QNX as well since it is not
BlackBerry 10 specific.

  - tst_QNumeric::floatDistance()
  - tst_QNumeric::floatDistance_double()
  - tst_QtJson::testNumbers_2()
  - tst_QtJson::toJsonLargeNumericValues()
  - tst_QtJson::parseNumbers()

Task-number: QTBUG-37066
Change-Id: If0e5d4fbefac5e8a0efed8ef8b1b7655ff6e7766
Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
2014-03-27 08:21:14 +01:00
Lars Knoll
5279134935 Reuse one QCollator instance for QString::localeAwareCompare
Constructing a QCollator is somewhat expensive, and made
localeAwareCompare really slow. As QCollator (at least with
the ICU implementation) is not thread safe, use one collator
per thread. This speeds up collation of a long list of strings
by a factor of 250 for the test case in the bug below.

Task-number: QTBUG-36149
Change-Id: I645cdc3546347d1dcc7a03b7563b628c7f756944
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2014-03-27 07:31:01 +01:00
Friedemann Kleint
5b00bb39f2 Polish tst_qsslsocket a bit.
Output the SSL library version, output socket error string on connection
failure consistently, silence numerous warnings about QIODevice not
being open in tst_QSslSocket::constructing.

Change-Id: Ia23d42de5b2daca55b2f6f50af025d61e99c52a0
Reviewed-by: Peter Hartmann <phartmann@blackberry.com>
2014-03-26 07:22:35 +01:00
Marc Mutz
84c10500b1 QVector: add removeOne(), removeAll() for QList compatibility
Eases migration from QList to QVector.

[ChangeLog][QtCore][QVector] Added removeOne(), removeAll() for
QList compatibility.

Change-Id: I4211afb2e077c187d0a39f0ac4528f0c66721fb3
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2014-03-26 00:21:22 +01:00
Marc Mutz
9157a1f97a QVector: add more insert() tests
Add more insert() tests, since the existing ones only covered
the index-based insert() variant and only movable types.

Change-Id: Ifce7a67be0bef45f926f13521873a1d77430e1e3
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2014-03-26 00:21:15 +01:00
John Layt
d48db922d4 QPrintDialog - Add more options to manual test
Add all the available QPrinter options to the QPrintDialog manual test
to allow for testing presets.

Change-Id: Ia6394094fc9920da0d6c645793d51650404899d8
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-03-25 00:00:23 +01:00
John Layt
dbb6b58abe QPrintDialog - Convert manual test to .ui file
Convert the manual print dialogs test to use a ui file as subsequent
changes will add a lot more widgets.

Change-Id: I06ac54b67532f0eea1e91a2d9aca4f587d2fa332
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-03-25 00:00:23 +01:00
Konstantin Ritt
48679a3748 Fix tst_QTextScriptEngine failures on some platforms
The text shaping process has been unified for all platforms.

Task-number: QTBUG-23064
Task-number: QTBUG-24565
Task-number: QTBUG-26495

Change-Id: Ida4c4be85f1a72c04399d2e6760fa36b33a0464e
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2014-03-24 21:37:31 +01:00
Frederik Gladhorn
3b5c0bc078 Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
	src/gui/image/qjpeghandler.cpp

Change-Id: I9db3acea7d5c82f5da679c8eaeb29431136665f0
2014-03-24 16:10:15 +01:00
Jorgen Lind
c79918733a Fixup compilation of the manual tests
Change-Id: I871b0e7c1c4336b45e880023e7374f579e018cd6
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2014-03-22 19:54:27 +01:00
Shawn Rutledge
efcfa0b252 QGuiApplication: send TouchCancel when touch is interrupted by popup
QQuickWindow depends on maintaining state of known touch points
between events, so it needs to be notified when it will not be
receiving the corresponding release event for one or more.
This temporary fix needs to be reverted when we have a proper
event forwarding solution.

Task-number: QTBUG-37371

Change-Id: I5dc40af6feac425be8103c1586f8ebe3a6aad20d
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2014-03-21 21:08:27 +01:00
Friedemann Kleint
374d0a0b8c Remove manual test qpainfo, which is superseded by the qtdiag tool.
Change-Id: Ibd6e8fc05495f6eb2adca22072df19530766858a
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2014-03-21 18:34:43 +01:00
Fabian Bumberger
70624ed9d6 QNX: Fix QGraphicsItem autotest
Change-Id: I85b0938e6ebeb9f24e24b51a594c01b74167a177
Reviewed-by: Sergio Ahumada <sahumada@blackberry.com>
Reviewed-by: Bernd Weimer <bweimer@blackberry.com>
2014-03-21 17:55:55 +01:00
Jens Bache-Wiig
23595107cd Respect scrollbar position setting on Mac
This was a regression from Qt 4.7.

[ChangeLog][Widgets][QScrollArea] Respect scrollbar setting for
click-position on Mac.

Task-number: QTBUG-36314
Change-Id: I8bdb1aec9b308b0907f5db29d3519998bc843c18
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
2014-03-20 19:01:53 +01:00
Peter Hartmann
d9f5200fb8 network: add support for NTLM Session Security
tested manually with internal proxy.

Patch-by: Jonathan Lauvernier <Jonathan.Lauvernier@gmail.com>

Change-Id: Ief5b4579b3444ce70eb99637edf771d37d3971fb
Reviewed-by: Peter Hartmann <phartmann@blackberry.com>
2014-03-20 19:01:53 +01:00
Kai Koehne
ba4d154737 Logging: Remove PatternFlag::Invalid from QLoggingRule
The flag is not orthogonal to the rest, and e.g. checking with

   flags & Invalid

will fail. Rather make it explicit by comparing with 0.

Change-Id: I428d5e71f5ecd05f61d543aaa78532548ef93d5a
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-03-20 19:01:53 +01:00
Laszlo Agocs
8adca56674 Resurrect advanced bindTexture() features in QtOpenGL
During the Qt 4 -> 5 migration the setting of the extension flags
in QOpenGLFunctions/Extensions suffered a regression: flags like
GenerateMipmap were never set. This led to the unfortunate sitation
that features that were tied to these flags, like compressed texture
support or mipmap generation, got disabled.

This is now corrected by checking for the extensions like Qt 4 did.

Task-number: QTBUG-37588
Change-Id: I4a7beb1b435af11e05f5304aa04df2ec63b34c18
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
2014-03-20 14:11:33 +01:00
Kai Koehne
503d761c08 Print when logging rule is invalid.
Print a warning when an invalid logging rule is parsed.

Change-Id: I3bf9a6df4053d36b3803652b2faa86168d5222bc
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-03-20 13:45:35 +01:00
Frederik Gladhorn
b8c96f2eb9 Accessibility: Improve QTextEdit
EditableTextInterface was implemented but not reported to the
accessibility bridges.
Newlines in QTextEdit when using QCursor::selectedText are returned as
unicode paragraphs, replace them by newlines.

[ChangeLog][QtWidgets][Accessibility] Fixed QTextEdit not reporting
newlines to accessibility frameworks and add editable text interface.

Change-Id: Iac21e70f5468a16f8abf242ae148290dbab3f8e4
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2014-03-20 12:49:33 +01:00
Tobias Koenig
1f6e461533 Fix positional binding values order in QSqlQuery
Adapt the stringification code, that is used to produce the
keys for QSqlQuery::boundValues() return value, to keep the
right order of the binding values.

Task-number: QTBUG-12186
Change-Id: Ic11a455bfd9ffd1418b1b021ce5cf78cae9b4504
[ChangeLog][QtSql] Fixed the order of values with positional binding in a QSqlQuery
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
2014-03-20 10:36:34 +01:00
Morten Johan Sørvig
5e03c4d97f QOpenGLWidget retina support.
Use device pixels where appropriate. 

Change-Id: Ia953e6da4034eecbfccf798701ec1b850eea9d5b
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2014-03-20 08:35:24 +01:00
Friedemann Kleint
48773be981 Do not run tst_qcolumnview in parallel
Task-number: QTBUG-36395

Change-Id: Id1f5cfeca3f18d6d7d1f2354211e15d349dd7b8f
Reviewed-by: Sergio Ahumada <sahumada@blackberry.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
2014-03-19 19:51:20 +01:00
J-P Nurmi
3a4b8cbc3d Fix tst_QColumnView::scrollTo()
The test relies on active focus, so activate the test window in
the beginning of the test to avoid undesired focus widget changes
by QApplication::setActiveWindow() during the test.

Task-number: QTBUG-36395
Change-Id: I6febec7d552224b1754aaf57520ed6d435d29563
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-03-19 19:50:50 +01:00
Frederik Gladhorn
634b9b1e5c Do not run tst_qabstractitemview in parallel
This test waits for window activation and gets disturbed by mouse
movements.
The test duration is not long enough to justify the flakyness (around 10
seconds on my laptop).

Change-Id: I985044f954c09442220db3ca318045c04ef6bb77
Reviewed-by: Sergio Ahumada <sahumada@blackberry.com>
2014-03-19 01:02:03 +01:00
Dimitar Asenov
9891c5051f Add a new optimization property to QGraphicsScene
The minimumRenderSize is a qreal value that is used as a lower bound to
determine what items are visible when a scene is rendered. If an item's
view-transformed width or height are less than minimumRenderSize then
this item is considered to insignificantly affect the final result and
is not drawn. If the item clips its children to its shape they are
automatically not drawn. This greatly reduces the drawing overhead
for scenes with many items rendered in a zoomed out view.

[ChangeLog][QtWidgets][QGraphicsScene] Added the minimumRenderSize
property which can be used to speed up rendering by not painting
items, smaller than a give size.

Change-Id: Ie208234707dffb4d2fc620fc5d1514e0c144d9a8
Reviewed-by: Andreas Aardal Hanssen <andreas@hanssen.name>
2014-03-18 19:29:16 +01:00
Jani Heikkinen
23b47a8d4e Merge "Merge remote-tracking branch 'origin/release' into stable" into refs/staging/stable 2014-03-17 13:48:12 +01:00
John Layt
2c175d3748 QPrinter - Expect failure of QPrinter page size test
The page size test can get confused when two printer papers have the
same size, but the code being tested is actaully correct.  Put a temp
QEXPECT_FAIL on the test and some debug statements so we can see why it
fails and fix the test as required.

Change-Id: I160ba2ed7344500d89bdcb9bb416863713fef84b
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2014-03-17 13:46:29 +01:00
John Layt
833a43d56c QtPrintSupport - Fix QT_NO_PRINTER build
Fix the QT_NO_PRINTER build for issues that have accumulated over last
few months, and in the new changes already approved.

Change-Id: I9aed21dee861837fd1a68a96692c873a4f5be293
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2014-03-17 13:46:26 +01:00
John Layt
1ffd79bfb7 QPrinter - Fix winPageSize() on Mac and Linux
Using QPageSize internally provides the Windows ID on all platforms so
remove the conditional compile on the QPrinter api and add support to
the print engines.

Change-Id: I31e23d5090a9b6ceb087c29dead050b0ee1855a5
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2014-03-17 13:46:13 +01:00
John Layt
dbc50e06df QPrinter - Use QPageSize and QPageLayout
Use QPageSize and QPageMargins to get/set values in the print engines,
add api to directly set the values, and rewrite the docs to make the
paper-based api obsolete instead of the page-based api.

Add new PPK keys to pass QPageSize, QPageMargins and QPageLayout to the
print engines to ensure no level of detail is lost, e.g. for custom
sizes passed to QPrinter.

[ChangeLog][QtPrintSupport][QPrinter] QPrinter can now use QPageSize
and QPageLayout in the public api to control the page layout for a
print job.

Change-Id: Iee39a4042bcd6141d29b0a82b49066d7a7a78120
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2014-03-17 13:46:10 +01:00
John Layt
ab42391cd0 QPrintEngine - Switch Windows to QPlatformPrintDevice
Change the Windows QPrintEngine implementation to use the
QPlatformPrintDevice to obtain device information, and use QPageSize to
obtain page size conversions.  A following change will use QPageLayout
to store that page size.

Change-Id: I990943e2b62ab6dab2c4d4a292c7ed7261beadf2
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2014-03-17 13:46:04 +01:00
John Layt
9e29fab38d QPdfWriter - Use QPageSize and QPageLayout
Add support to QPdfWriter for QPageSize, QPageLayout, and resolution.

[ChangeLog][QtGui][QPdfWriter] The QPdfWriter now supports setting
the PDF orientation, layout and resolution by using QPageSize and
QPageLayout.

Change-Id: I9c269f997ec540dac1989f355c6a2e7488947966
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2014-03-17 13:45:52 +01:00
John Layt
b0428926ce QPrinterInfo - Switch to QPlatformPrintDevice
Change the QPrinterInfo implementation to use QPlatformPrintDevice as
the backend.  Remove all the old QPrinterInfo related code from the
QPA plugin.  Add public api to QPrinterInfo to support some features
from QPlatformPrintDevice.

[ChangeLog][QtPrintSupport][QPrinterInfo] Added new public api for
isRemote(), state(), defaultPageSize(), supportedPageSizes(),
supportsCustomPageSizes(), minimumPhysicalPageSize(),
maximumPhysicalPageSize(), supportedResolutions(),
availablePrinterNames(), and defaultPrinterName(). The use of
availablePrinters() is discouraged due to performance concerns.

Task-number: QTBUG-35248

Change-Id: Ic38323a930549ad67bf04a1a6bb43d623dfe6a33
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2014-03-17 13:45:44 +01:00
John Layt
f50d46e5eb QPlatformPrintDevice - New QPA base class
Add a new QPA class to abstract Print Devices.  Each platform instance
will encapsulate all required details about a print device instead of
the code being distributed throughout the print engine and print
plugin.

Change-Id: I7f6a537ad55a6e7f599d83f461b1e2ee62b15094
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2014-03-17 13:45:31 +01:00
John Layt
5eeed00f4d QPageLayout - Add new QPageLayout class
New QPageLayout to encapsulate page layout details including page size,
orientation and margins.  Scale may be added later.

Subsequent changes will use this class in the paged paint devices,
paint engines, print engines, and print plugins to replace multiple
inconsistent local implementations.

[ChangeLog][QtGui] Added class QPageLayout to support handling page
layouts including the page size, orientation and margins.

Change-Id: Ife1ddd6c2a8d1516542be2eb37425111f41cd5c7
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
2014-03-17 13:45:27 +01:00