Some of the complex' widgets children can return
QAccessibleInterfaces.
Ideally all complex widgets should be removed, this eases the transition.
Change-Id: If3d7f28f97dac8cf5018a2c4c4b33709a3d4595c
Reviewed-on: http://codereview.qt-project.org/4788
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
Make it inline; add fast checks for typical spaces;
add fallback function that uses the fastcall calling
convention.
On ia32, this change makes isSpace ~340x faster for
ascii spaces, ~170x faster for non-space ascii
characters, and ~1.3x faster for non-ascii characters.
Note that this change is NOT binary compatible.
Also add an autotest with expected results from
before the optimization, to ensure that the behavior
is the same.
Change-Id: I9438d0ad3c9ba2e80560c4bee7eed05115265798
Reviewed-on: http://codereview.qt-project.org/4905
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Make it inline; add fast checks for ascii letters
and digits; add fallback function that uses the
fastcall calling convention.
On ia32, this change makes isLetterOrNumber ~120x
faster for ascii letters and digits, ~150x faster
for non-letter/digit ascii characters, and ~1.3x
faster for non-ascii characters.
Note that this change is NOT binary compatible.
Also add an autotest with expected results from
before the optimization, to ensure that the
behavior is the same.
Change-Id: Ia4e13692f4dd79f6aa0b96da29449e0487971b0e
Reviewed-on: http://codereview.qt-project.org/4904
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Make it inline; add fast checks for ascii letters;
add fallback function that uses the fastcall calling
convention.
On ia32, this change makes isLetter ~370x faster for
ascii letters, ~250x faster for non-letter ascii
characters, and ~1.5x faster for non-ascii characters.
Note that this change is NOT binary compatible.
Also add an autotest with expected results from
before the optimization, to ensure that the
behavior is the same.
Change-Id: I06f8d3d43114537cee5567e670898cef6494c20a
Reviewed-on: http://codereview.qt-project.org/4903
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Make it inline; add fast checks for ascii digits;
add fallback function that uses the fastcall calling
convention.
On ia32, this change makes isDigit ~370x faster for
ascii digit characters, ~250x faster for non-digit
ascii characters, and ~1.5x faster for non-ascii
characters.
Note that this change is NOT binary compatible.
Also add an autotest with expected results from
before the optimization, to ensure that the
behavior is the same.
Change-Id: I718fadecda3f591d6f4c22374d8e476f4724fd83
Reviewed-on: http://codereview.qt-project.org/4902
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
The benchmark isn't exhaustive, but tests the functions
that are heavily used by QtDeclarative.
For performance reasons, QtDeclarative has its own
implementation of various QChar functions (in
qdeclarativeutils_p.h). But we want to make the actual
QChar functions as fast, so that QtDeclarative can also
use them.
Change-Id: Ic25f30651224c39f2824380d679b8500739f38c3
Reviewed-on: http://codereview.qt-project.org/4900
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Gabi
Change-Id: I99b08f8b41f483c92ae175630b812e4b299069b6
Reviewed-on: http://codereview.qt-project.org/4916
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dietrich-de@nokia.com>
QIcon has not been moved to QtGui after all, re-introduce
QtWidgets-dependent code path.
Task-number: QTBUG-21402
Change-Id: I61c37babaeceadf7d53c10736bcc847758adaf1b
Reviewed-on: http://codereview.qt-project.org/4775
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
prepareToRender() might call adjustSize() resulting in the widget's size
changing, so we should make sure to call adjustSize() _before_ we decide
on the required pixmap dimensions.
Task-number: QTBUG-21402
Change-Id: Ie72b46bc8e8e22f848769f78187f47ae9f4e37d3
Reviewed-on: http://codereview.qt-project.org/4772
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
This test attempts to enforce various conventions onto Qt's autotests.
Many of the things enforced by this test became obsolete from Qt4 ->
Qt5 (because Qt5 CI is much less "magic" than Qt4 CI).
The merge of `refactor' branch obsoletes even more.
The remaining valuable part of this test should be moved into the `qtqa'
module as a shared test, because it applies to all modules, not just
qtbase.
Change-Id: I2402bca32e43c597f14b8ff6ca729563ff8efbfe
Reviewed-on: http://codereview.qt-project.org/4926
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Kalle Lehtonen <kalle.ju.lehtonen@nokia.com>
The test got moved one level down in the directory tree,
but tries to find the top level directory. Fix paths
to make it work again.
Change-Id: I7b80a1c6891e7f1aa013a89203f651aa3ea932e8
This QEXPECT_FAIL is obsoleted by Commit 2cca7e0884
Change-Id: I97bf9d8f0db50435b785bb1d2e1d60369d67aad2
Reviewed-on: http://codereview.qt-project.org/4764
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Matthew Cattell <matthew.cattell@nokia.com>
Necessary to avoid CI blocking.
The tests should be enabled again as soon as possible.
Task-number: QTBUG-21424
Change-Id: Ib25da5b9a1fdb23e00a5c503db90d306deb90f06
Reviewed-on: http://codereview.qt-project.org/4768
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Holger Ihrig <holger.ihrig@nokia.com>
Necessary to avoid CI blocking.
The tests should be enabled again as soon as possible.
Task-number: QTBUG-21424
Change-Id: Ibc54723855579095be0dea3bd3e071dd22a1fccf
Reviewed-on: http://codereview.qt-project.org/4825
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Matthew Cattell <matthew.cattell@nokia.com>
This change disables failing tests to increase the
likelihood that 'make check' terminates with a zero
exit status. This is done to prevent the CI system
from blocking further commits once qtbase#refactor
is merged into qtbase#master.
Failing tests are marked as insignificant (by putting
'CONFIG += insignificant_test' in the .pro file).
Note: This is a temporary measure that needs to be cleaned up
once the refactor->master integration is complete.
Ideally all disabled tests need to be enabled and passing.
All changes will be marked by the string QTBUG-21402 in a comment
for easy location.
Task-number: QTBUG-21402
Change-Id: Ic4400671671f6d9b75b106a6aa4755b20e74378d
Reviewed-on: http://codereview.qt-project.org/4678
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
This is simpler than the existing texture cache in QtOpenGL, as it only
serves the GL paint engine. There's one per context group, to simplify
the design and to prevent performance degradations.
Change-Id: I61e3c9a444d8e246a8b38da019a56f2c0a533c0c
Reviewed-on: http://codereview.qt-project.org/4674
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Kim M. Kalland <kim.kalland@nokia.com>
a) don't detach until an occurrence found
b) don't memmove every time an occurrence found
c) truncate quickly )
well, numbers are better than words:
before:
RESULT : tst_QList::removeAll_primitive():
2,617,902 CPU ticks per iteration (total: 261,790,171, iterations: 100)
RESULT : tst_QList::removeAll_movable():
2,547,540 CPU ticks per iteration (total: 254,753,960, iterations: 100)
RESULT : tst_QList::removeAll_complex():
16,852,099 CPU ticks per iteration (total: 1,685,209,906, iterations: 100)
after:
RESULT : tst_QList::removeAll_primitive():
73,520 CPU ticks per iteration (total: 73,520,442, iterations: 1000)
RESULT : tst_QList::removeAll_movable():
90,422 CPU ticks per iteration (total: 90,422,464, iterations: 1000)
RESULT : tst_QList::removeAll_complex():
9,667,073 CPU ticks per iteration (total: 9,667,072,670, iterations: 1000)
Merge-request: 1285
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
(cherry picked from commit b209fe3b1a51f64541067917e96de99f14ad65f3)
Change-Id: Ia26036ed741cefcf4b5868b7b2fc5eae8130d3dc
Reviewed-on: http://codereview.qt-project.org/4577
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
as shortcutDestroyed(..) modifies the shortcuts list.
disconnect from shortcutDestroyed() first, or operate on a detach()-ed list
this was uncovered by QList::removaAll() optimization patch.
(cherry picked from commit e95de30977291a251660f72baa84b5ff244711fb)
Change-Id: Ie0b371c54458ce85f4d36430de8080a5e78d8b7f
Reviewed-on: http://codereview.qt-project.org/4585
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Commit 2cca7e0884 overloads
QTestLib so that QWindow * can be passed directly to
certain functions.
This fix disambiguates access to the new API by selecting
the QWindow * versions. This assumes that the QWidget *
versions are kept mostly for backwards compatibility.
Change-Id: I075196d86d8d1d38f7192dace3c3892d315bf671
Reviewed-on: http://codereview.qt-project.org/4655
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Matthew Cattell <matthew.cattell@nokia.com>
Commit 2cca7e0884 overloads
QTestLib so that QWindow * can be passed directly to
certain functions.
This fix disambiguates access to the new API by selecting
the QWindow * versions. This assumes that the QWidget *
versions are kept mostly for backwards compatibility.
Change-Id: I8755c86d5ebeb275dfa9162b0168d9179a61982d
Reviewed-on: http://codereview.qt-project.org/4640
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Matthew Cattell <matthew.cattell@nokia.com>
The other/ subdirectory should still be built via other.pro.
This was overlooked by Commit 0a208dd413
Task-number: QTBUG-21327
Change-Id: Ie8ebd7dfc5b1dd56ca1b629aa011d160cb563ddd
Reviewed-on: http://codereview.qt-project.org/4526
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
QOpenGLFramebufferObject must be wrapped in a QOpenGLPaintDevice
before being passed to QPainter::begin().
Change-Id: Ic82f8f17b2ea18a3790de7e75f0dd6c9092528ed
Reviewed-on: http://codereview.qt-project.org/4541
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
These tests used requires(contains(QT_CONFIG,private_tests)) in their
.pro file, but did not subtract themselves from their parent project
SUBDIRS when private_tests weren't enabled.
In the best case, this wastes a little time as qmake iterates over these
projects which won't be built. In some worse esoteric cases, this may
break compilation or packaging.
Change-Id: I189c108ee9943b15114becf9d6b04f78dbabbe31
Reviewed-on: http://codereview.qt-project.org/4389
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Toby Tomkins <toby.tomkins@nokia.com>
Use the new PCMPESTRM instruction (Parallel CoMPare Explicit-length
STRings with result in a Mask) which is added in SSE4.2 for
facilitating string operations. The "compare ranges" mode allows us to
search for characters outside the Latin 1 range and then use the
SSE4.1 PBLENDVB instruction to replace those with question marks.
Unlike previous SSE compare instructions, the PCMPxSTRx family allows
us to operate on unsigned 16-bit values. This saves us another
parallel add.
Reviewed-By: Samuel Rødal
(cherry picked from commit 45d2d36c9dbcbce403c78838ea52acd1ab111b68)
Change-Id: I0f9d864f9d19c0f0da43ccb6918dc28295074496
Reviewed-on: http://codereview.qt-project.org/4468
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Commit 079ec157f8 overloads
the touch event API in QTestLib so that QWindow * can be
passed directly to certain functions.
This fix disambiguates access to the new API by selecting
the QWindow * versions. This assumes that the QWidget *
versions are kept mostly for backwards compatibility.
Change-Id: Ib6b33edc64d81f300d4109d59fd29f25ccd605db
Reviewed-on: http://codereview.qt-project.org/4443
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
The more the merrier.
Change-Id: I401ed97600a890c38cb4d5dbe0578d6bcf68e909
Reviewed-on: http://codereview.qt-project.org/4322
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Paul Olav Tvete <paul.tvete@nokia.com>
QNetworkProxy takes an hostname, not an url.
Change-Id: I7504fbc02a817d6c75ee55dc8bbdd66ec1e6cd01
Reviewed-on: http://codereview.qt-project.org/4373
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Peter Hartmann <peter.hartmann@nokia.com>
Some of these trigger pre-refactor as well by adding a QTest::qWait()
after QTest::qWaitForWindowShown().
Change-Id: I48863fd31fc0c3b51463ed922782e86c21f05bff
Reviewed-on: http://codereview.qt.nokia.com/4272
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
This fixes a few bugs in QML mode name resolution and simplifies
our V8 patchset a little by folding some patches together.
Change-Id: Ia528a43ac8ccad95ac81bcdff5d05aaeab4b48b2
Reviewed-on: http://codereview.qt.nokia.com/4294
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>