Do not try to fill fontDef when it's a test font engine, otherwise
it will cause a crash because desc.family is 0.
Change-Id: I008b784bae3e60a25c33c285d944442a3616a9a2
Reviewed-on: http://codereview.qt-project.org/5103
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
If the MKSPEC we get is an absolute path, we should
pass that one on to qmake. Otherwise it'll try to
find the mkspec in the install location. This fails
as 'make check' is being run before installation.
Task-number: QTBUG-21402
Change-Id: Ie872546f2ee7c5d737e50a1779637e393538ccc2
Reviewed-on: http://codereview.qt-project.org/4999
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
If we don't have Q_FONTCONFIGDATABASE flag, QGenericFontDatabase
will be defined to QBasicUnixFontDatabase even when fontconfig is
available.
Change-Id: I0e79ed8488163cea32352e3fc300acd92ca4bd93
Reviewed-on: http://codereview.qt-project.org/4962
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Don't store separate strings for the logger name and the associated file
suffix -- just use the same string everywhere.
Change-Id: Ie7d1af6bf906b5ac09fbd5fcc5754b68036fb370
Reviewed-on: http://codereview.qt-project.org/5060
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
The selftest was only attempting to delete the output file at the end of
the entire test run. This file should actually be deleted after each
subtest to ensure that it does not cause confusing errors if the next
subtest fails to overwrite the output file.
Change-Id: Ia3827926f71a697c6108de3f2b08c969f761d978
Reviewed-on: http://codereview.qt-project.org/5051
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
The removed calls related to tests that were removed when redundant
logging functionality was removed.
Change-Id: Iaebbc109eaaddb440ae78e1f4a1b4e874a8b2960
Reviewed-on: http://codereview.qt-project.org/5050
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Use C++ comment delimiters consistently
* Use a space after control flow keywords
* Don't nest "else if" blocks unnecessarily
* Follow indenting rules
* Added comments describing some internal functions
Change-Id: I72fd1eaf5c5f3130945fbd2b64fa59e19ad2913d
Reviewed-on: http://codereview.qt-project.org/5049
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Commit 949be8cbdd modified the assert test
case but failed to update the line number of the assert in the expected
test output files.
Change-Id: I0d4f55c0b8bc1de8487dd8c6267aa459000cda26
Reviewed-on: http://codereview.qt-project.org/5048
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
In C++11 push_back is overloaded to support rvalue-references,
void std::vector<T>::push_back(const T &);
void std::vector<T>::push_back(T &&);
so attempting to get the address for push_back is ambiguous.
Instead of hardcoding the function signature, the better and more
general solution is to allow the compiler to do the required overload
resolution itself, also allowing for implicit conversions to take place.
Task-number: QTBUG-18996
Done-with: Liang Qi
Reviewed-by: Olivier Goffart
(cherry picked from commit ca34cc75294e0d2a8bc491a2c679fe8a69cd0408)
Change-Id: Id271118e489f888905e491dd4cfc3d2db7697552
Reviewed-on: http://codereview.qt-project.org/4642
Reviewed-by: Liang Qi <liang.qi@nokia.com>
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
We should set both the pixmap and window bits for XComposite to work on
a stricter EGL / GLX implementation.
Change-Id: Ie1be44ebcc68fed87f48c74dffd887ffae1189d5
Reviewed-on: http://codereview.qt-project.org/4893
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Paul Olav Tvete <paul.tvete@nokia.com>
It seems to be the only sane way to fix it. Previous attempts to
fix it by compensating the trailing space width all failed in some
cases, one of the trickiest is when we are having embedded LTR text
that has trailing spaces in a RTL paragraph.
In this patch we leave line.length not including the trailing space
length, but saving it to a separated variable, so that we can always
add it back when needed (QTextLine::textLength() for instance).
It fixed all the problems in different alignments of both RTL and
LTR text. And no regression is found yet.
Reviewed-by: Eskil
(cherry picked from commit 80294c375eca9687d1c34e9ab048294373e7f00c)
Change-Id: Id248ab6f54f8cc25ba0e9d1626703463dfefbcea
Reviewed-on: http://codereview.qt-project.org/4778
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
The only thing we need to know at fontEngine creation is the hinting
style, we can just store it in enumeration process and get it back
from user data pointer. So that fontEngines can be created without
access to fontconfig at all. (Since we are doing our own matching.)
Change-Id: I5ab2d1f27e28787447aedcbdef16555fb0f1b604
Reviewed-on: http://codereview.qt-project.org/4769
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
This restores the forced-vs-detection logic for Qt frameworks which
was removed by commit ceed409b40.
The problem of linking against Qt modules compiled as a static
library is solved a different way: the module must explicitly state
in the module .pri file that it is built as a static lib.
Change-Id: Ie3d726f7b3933e5b5d27f15c6112ec1c7dee1ea2
Reviewed-on: http://codereview.qt-project.org/5034
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
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>
Calling QChar::category() is slow; do some fast checks to
detect ascii characters before falling back to the generic
handling.
On ia32, this change makes isUpper ~260x faster for uppercase
ascii characters, and ~180x faster for non-uppercase ascii
characters. Similar numbers for isLower.
Even with the additional checks, these versions are slightly
faster than before for non-ascii characters as well, since
we now call the static fastcall category(ushort) function,
which is faster than the category() member function (which
uses the stack to pass the unicode value).
Change-Id: I6ae0df466bb4835ca0d5319fd6018862c849313b
Reviewed-on: http://codereview.qt-project.org/4901
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>
Do not trigger a self-assign warning when running into code containing
a Q_OBJECT macro. Currently this happens a lot e.g. when using clang
to build code using Qt.
Change-Id: I68995624b18406f337318599e463f36f87486e66
Reviewed-on: http://codereview.qt-project.org/4960
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: hjk <qthjk@ovi.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
There's no QImage::Format_A8 format. This is a term used in the
corresponding QFontEngineGlyphCache enum.
Reviewed-by: Jiang Jiang
(cherry picked from commit e453fce2731069dce993a94b0c2291307cc7806c)
Change-Id: I68a190abdf4446d05231af89ac861380ac79b188
Reviewed-on: http://codereview.qt-project.org/4773
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Removes the QT_NO_IM macro which was a temporary measure during
refactoring work. This macro disabled the setPreeditArea() call
and caused only the formats of the preedit text to be registered,
not the actual string.
Task-number: QTBUG-21261
Change-Id: I76cdf116043520fa2185ddcd34739da031c0fcdc
Reviewed-on: http://codereview.qt-project.org/4958
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Not sure why this was not the case all along, but on my MSVC2008
installation the include must be prefixed by the 'GL' directory.
Change-Id: Icb29b072446bab386b5c62ab0df453ded41b8ede
Reviewed-on: http://codereview.qt-project.org/4914
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
There is no longer a focusObject setter/getter in the input context.
Instead the object can be gotten from the new input panel API. Instead
of reimplementing setFocusObject(), implementations should now connect
to the inputItemChanged() signal of QInputPanel.
Change-Id: I6c674424da5a0c8c3995e5f5acd191ef91ba8a00
Reviewed-on: http://codereview.qt-project.org/4913
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Lars Knoll <lars.knoll@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 was a binary compatibility hack to extend the accessibility
framework towards IAccessible2. Start fixing it properly.
Change-Id: I82bb0daa6469930c5bf6e440c919159603d56a83
Reviewed-on: http://codereview.qt-project.org/4750
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
It seems as the refactor merge replaced the v8 submodule
SHA1 by an older version. This commit reinstates Aaron's
version from commit b57c3cc40f
Change-Id: Ie172e935561e2f6510dd81c035b17816d8da9e4b
Reviewed-on: http://codereview.qt-project.org/4899
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@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>