Commit Graph

11507 Commits

Author SHA1 Message Date
Morten Johan Sorvig
818c544d6b Cache accessibility plugins.
Profiling shows that the cost of QAcccessible::
queryAccessibleInterface is dominated by plugin loading.
(json parsing etc.)

Cache QAccessiblePlugin per class. Also cache the fact
that no plugin is found for a certain class. This speeds
up the average queryAccessibleInterface call by a factor
of 10X

Change-Id: Iab6d052dec499a2203d1dcc4672a8a543b279239
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2013-01-02 07:47:46 +01:00
Thiago Macieira
2119c8f291 Make these headers includable directly, on all systems
For qwineventnotifier.h, just wrap the code around #ifdef Q_OS_WIN. This
has the added benefit of fixing the current qt_no_master_include problem
(that is, even if you #include <QtCore> on Windows, you wouldn't get
it).

For qtypetraits.h, it requires qglobal.h first.

Change-Id: If1ba09a0a29de429a5b87e9878c8ac6a62a443c4
Reviewed-by: Laszlo Papp <lpapp@kde.org>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-01-01 23:50:00 +01:00
Stephen Kelly
3f374afaae Get the default flags from the direct-base, not the indirect.
QStringListModel inherits QAbstractListModel.

Change-Id: I942321b2e5949f54041e11089f4131a646618b9e
Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-01-01 18:11:28 +01:00
Thiago Macieira
d443953e6a Fix warning found by clang:
kernel/qwidgetsfunctions_wince.h:61:34: error: no newline at end of file [-Werror,-Wnewline-eof]

Change-Id: Icbc35227946652db53fc8454d1d42043aa7c15b9
Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2012-12-31 13:04:23 +01:00
hjk
03a666760c Speed up and fix QByteArray::setNum()
Going through QLocale and QString is not really needed.

This also makes the result of the conversion of negative numbers
in bases other than 10 independent of the architecture and
implements the documented behavior of treating them as
unsigned types.

Change-Id: Ibc231dc5241deb5cbadd9796484a8b5f79c29410
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2012-12-30 10:44:44 +01:00
Thiago Macieira
8094c8fe18 Remove unused function _q_qgraphicsItemSetFlag
Clang reports:
graphicsview/qgraphicsitem.cpp:1779:13: error: function '_q_qgraphicsItemSetFlag' is not needed and will not be emitted [-Werror,-Wunneeded-internal-declaration]
static void _q_qgraphicsItemSetFlag(QGraphicsItem *item, QGraphicsItem::GraphicsItemFlag flag,
            ^

According to the public Git history, in Qt 4.5.1 this function was
already unused. The only reason it wasn't caught so far is that it is
recursive: it calls itself. So it is used... by itself.

Change-Id: I6fc6b33cb314b845525dc9315d0ad742e113d5cd
Reviewed-by: Andreas Aardal Hanssen <andreas@hanssen.name>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2012-12-29 22:38:48 +01:00
Thiago Macieira
fbfe420aeb Fix warnings reported by Clang in QtWidget
qwizard.cpp:919:24: error: equality comparison with extraneous parentheses [-Werror,-Wparentheses-equality]
    if ((info.wizStyle == QWizard::AeroStyle)
         ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~

Change-Id: I477cc4e331633682b79df3cb0113558e9019280c
Reviewed-by: Andreas Aardal Hanssen <andreas@hanssen.name>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2012-12-29 22:38:46 +01:00
Thiago Macieira
b5de3baa6f Add qtest_widget.h to the list of testlib headers
It was missing.

Change-Id: I356f6ccddf4fc56e76858fdeaa8ef116e3b680af
Reviewed-by: Jason McDonald <macadder1@gmail.com>
2012-12-28 23:29:11 +01:00
Thiago Macieira
19d8a77040 Fix warnings in the SQL drivers found by GCC 4.7
qsql_psql.cpp:774:12: error: enumeration value 'CancelQuery' not handled in switch [-Werror=switch]
qsql_mysql.cpp:1163:12: error: enumeration value 'CancelQuery' not handled in switch [-Werror=switch]
qsql_sqlite.cpp:527:12: error: enumeration value 'CancelQuery' not handled in switch [-Werror=switch]
qsql_odbc.cpp:88:97: error: format '%d' expects argument of type 'int', but argument 3 has type 'long unsigned int' [-Werror=format]
qsql_odbc.cpp:706:76: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]

Change-Id: I79965283057e92a44a0c8375530cfb30107c891c
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
2012-12-28 23:28:31 +01:00
Thiago Macieira
a891ef6920 Don't use MPProcessorsScheduled on Mac OS X
It's deprecated and it's not available on iOS anyway. The recommended
way of getting the number of processors online is via sysctl or
sysconf (both of which are just slightly below).

qthread_unix.cpp:397:13: error: 'MPProcessorsScheduled' is deprecated: first deprecated in Mac OS X 10.7 [-Werror,-Wdeprecated-declarations]

Change-Id: I4bf60985fbde155b78b840f3de3ff0a142b78b19
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2012-12-28 23:28:05 +01:00
Thiago Macieira
7b54571ec2 Suppress warning in valgrind headers: variable set but not used
qbenchmarkvalgrind.cpp:229:5: error: variable '_qzz_res' set but not used [-Werror=unused-but-set-variable]

Change-Id: I3c5896659105650d6d824b10ff3beffbdf494e24
Reviewed-by: Jason McDonald <macadder1@gmail.com>
2012-12-28 23:27:58 +01:00
hjk
0136252cb2 Polish code of some opengl examples
Change-Id: If24ae1845176fc525cf6a239a5079f4802f8df3f
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2012-12-28 20:44:55 +01:00
hjk
4eac2c4728 Add test for QByteArray::setNum
Change-Id: I66f3954433bf50fb23fdaeef804838d993e965b5
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2012-12-28 15:09:19 +01:00
Thorbjørn Lindeijer
a1cdc17be9 Removed an unnecessary forward declaration
qstringlist.h is already being included.

Change-Id: I1790cd560b934b6697702bd11f78f39cddc3389f
Reviewed-by: Thorbjørn Lindeijer <bjorn@lindeijer.nl>
2012-12-28 13:23:48 +01:00
Thorbjørn Lindeijer
1d09c5623b Fixed typo 'collasping' in QTreeView documentation
Change-Id: Ib49c3500c4b3a40a7eaf17404cecc2c38de90530
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
2012-12-28 11:24:27 +01:00
Gabriel de Dietrich
3262ba8de6 Cocoa: Re-enable per class palette on QPA plugin
Task-number: QTBUG-28443
Change-Id: If66604e8d002be6cf4c308378199c96be7422e06
Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2012-12-24 12:44:34 +01:00
Gabriel de Dietrich
f59163e79b Mac: Bring back proper layout in QMessageBox
Resolved by s/Q_WS_MAC/Q_OS_MAC where appropriate.

Task-number: QTBUG-28738
Change-Id: I8f1239839bffb092387d527af78e9dbe1628ef67
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2012-12-24 09:37:03 +01:00
Thiago Macieira
3adbcb58d5 Fix QMutex::tryLock with negative values
The Linux futex implementation had a Q_ASSERT for positive values, but
the documentation says that negative values should be interpreted as
infinite (equal to lock()).

Test that too.

Change-Id: I2f96a502d672732781e88e49797756ca9a809121
Reviewed-by: David Faure (KDE) <faure@kde.org>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2012-12-23 20:34:46 +01:00
Thiago Macieira
96d06124a1 Fix standalone header compilation
qtconcurrentfunctionwrappers.h:277:22: error: 'QStringList' was not declared in this scope

Change-Id: I54c48386d90146c872679672a1d8cc3675d49c39
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2012-12-23 17:53:57 +01:00
Thiago Macieira
9ea5754291 Fix Clang warning about memcpy a class with vtables
Change-Id: I7966014a49cdf4c6c82f012d8b1d16ba8ddc3fcc
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2012-12-23 17:53:40 +01:00
Thiago Macieira
96b48ee0cb Fix warning about unused variable in qdoc
codeparser.cpp:245:18: error: unused variable ‘dn’ [-Werror=unused-variable]

Change-Id: Id271b3829ba3278e80d4e79746db7aabfabd751a
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2012-12-23 17:53:07 +01:00
Thiago Macieira
7ee9551b62 Add support for multiple arguments to QSharedPointer::create()
Requires C++11 rvalue references and variadic templates so we can
implement perfect forwarding.

Change-Id: I62e47d1ffd0c61e8386f9f246aa79031b7430b46
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2012-12-23 17:51:45 +01:00
David Faure
8b2728ec38 QUrl::fromUserInput: fix for urls without a host.
QUrl::fromUserInput("http://") was invalid, which doesn't make sense
since QUrl("http://") is valid. Same for "smb:" which is actually
even more a valid URL from a user's point of view.

Change-Id: I371ac393d61b49499edf5adbbc2a90b426fe9e5d
Reviewed-by: Marco Martin <mart@kde.org>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-12-23 10:50:28 +01:00
Andy Shaw
69627730ea Fix QSqlQuery test in relation to PSQL support
Some things needed to be corrected for testing with PSQL, this was
checked against the the PostgreSQL documentation to confirm that the
exepected behaviour is correct.

Change-Id: I45a6b343e9eb920fcae2a62910ecc956abcac0f0
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
2012-12-22 14:43:28 +01:00
Thiago Macieira
2ebb714686 Fix warning about unused variable in QtPlatformSupport
GCC was complaining:
qevdevtouch.cpp:475:13: error: 'maxId' may be used uninitialized in this function [-Werror=maybe-uninitialized]

Which got me scratching my head: maxId was unconditionally initialised. How
could GCC be complaining about it being uninitialised? Well, turns out that
bestId could be uninitialised and the code does:

            if (bestId > maxId)
                maxId = bestId;

Of course, if bestId was uninitialised, the warning should have been in the
"if" line first.

Change-Id: I5e174ab2957d76ad040c14fa6ef8535129b6dce3
Reviewed-by: Laszlo Agocs <lagocs83@gmail.com>
2012-12-22 09:55:51 +01:00
Sergio Ahumada
7426102c73 Bump Qt version to 5.0.1
Change-Id: Ie8f437b8dfe8a67c7b34321439dd988a02612437
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-12-21 22:49:02 +01:00
Thiago Macieira
a2f63dfd7a Use the new QUrlPrivate::validateComponent validator in the main parser
The code was copied from the main parser there, so remove the
duplication.

Change-Id: I85748f6f76b3097ff22958d9de67cfa27061a72b
Reviewed-by: David Faure (KDE) <faure@kde.org>
2012-12-21 20:54:51 +01:00
Thiago Macieira
e1a1e80d46 Make sure that the strict parser is also operating on setXxx
These cases weren't handled before.

The validateComponent function is copied from QUrlPrivate::parse, with
the added modification that it now needs to check the gen-delims for
the userinfo.

Change-Id: I055167b977199fa86b56a3a7259a7445585129c6
Reviewed-by: David Faure (KDE) <faure@kde.org>
2012-12-21 20:54:51 +01:00
Thiago Macieira
f4b4b4414e Add QDBusArgument template overloads for QPair
Change-Id: Ic7c199b20f9b3f34ae8a16b6062b3a3d8722f063
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2012-12-21 19:36:49 +01:00
Oswald Buddenhagen
586adeabe4 add and use qtHaveModule() function
this is much more elegant than the so far propagated !isEmpty(QT.foo.name).
also replace feature-specific tests (no-gui and no-widgets) and the
obsolete contains(QT_CONFIG, foo) syntax.

Change-Id: Ia4b3c8febcabf9eeca67b1f9173a523820b1038b
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
Reviewed-by: Tasuku Suzuki <stasuku@gmail.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-12-21 19:05:02 +01:00
Sergio Ahumada
7706c31eaa Fix some typos
Change-Id: I4e8d9bd8ea66ec810e4f1fbfd8ddbf25c4b3d980
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
2012-12-21 19:05:02 +01:00
Konstantin Ritt
9b0fab6b62 Update Qt internals to use QChar::Script
...and remove the outdated QUnicodeTables::Script enum.
QFontEngineData now has one extra slot that never used
(engines[QChar::Script_Inherited]). engines[QChar::Script_Unknown],
if accessed, would be set with a Box engine instance, and could be used
as a minor optimization some time later.

In order to preserve the existing behavior, we map all scripts up to Latin to Common.

Change-Id: Ide4182a0f8447b4bf25713ecc3fe8097b8fed040
Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2012-12-21 19:01:35 +01:00
Oswald Buddenhagen
21e809a486 fix linker command line
gcc is apparently tolerant against this abuse. icc is not.

Task-number: QTBUG-28775
Change-Id: I872d32177562f076ca8aecd263bc4bb3c7e8edc0
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2012-12-21 17:11:46 +01:00
Debao Zhang
4d55b473b3 qmake:Add a case sensitivity flag to ProString::{starts,ends}With()
Change-Id: I457cd8288ae8a0138f7b28321fe87be3308b5215
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-12-21 17:11:46 +01:00
Eskil Abrahamsen Blomfeldt
dde09c429a Make distance fields rendering work with Opentype CFF fonts
If the font has a CFF table, GDI will not label it as
TMPF_TRUETYPE, however, we can still use GetFontData to get
the SFNT tables. This is required to get the maxp table which
contains the glyph count, which is required to use the font
with the distance-field renderer.

Task-number: QTBUG-28746
Change-Id: I3ca1e3d96ea53c453e6fa422b33d1f1f5050a82c
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2012-12-21 16:57:26 +01:00
Friedemann Kleint
04a5a74685 Add a manual test for QFile.
Add a command line program allowing to test rename, copy, etc.

Task-number: QTBUG-28246

Change-Id: Ie9667f03b65a874475700ec9ecd91ca2ed32ed97
Reviewed-by: David Faure (KDE) <faure@kde.org>
2012-12-21 15:08:35 +01:00
Kai Koehne
7650494143 Fix main() signature of headersclean stub file
Fix MinGW build errors by using the standard main signature.

Change-Id: I0ebe7307a825a7ec50e654f163fbf8fe7060a478
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-12-21 14:37:57 +01:00
Mitch Curtis
b8623461d1 Fix typo in QWidget::setLayout() documentation.
Change-Id: I4882f01b980d7b89e54be2eeacc3a83fd014d0fe
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
2012-12-21 13:16:38 +01:00
Oswald Buddenhagen
022a0f0fb3 Merge "Merge 'release' into stable" into refs/staging/stable 2012-12-21 10:38:41 +01:00
Richard Moore
543e2d5e01 Fix typo in docs.
Change-Id: I37ccb10d40d2a848b7c251286d29aeb85411e912
Reviewed-by: hjk <qthjk@ovi.com>
2012-12-21 01:12:30 +01:00
Richard Moore
0b08598487 Fix typo in docs.
Change-Id: I608fbf5751bf1fa819d9fe10e159fa2a9c5e238d
Reviewed-by: hjk <qthjk@ovi.com>
2012-12-21 01:12:30 +01:00
J-P Nurmi
9f962612da Mac: fix transient QScrollBar flashing
Task-number: QTBUG-28669
Change-Id: I9825584f15c34709f7897533220911b6bf3ea21d
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2012-12-20 23:15:54 +01:00
Friedemann Kleint
96ff3fbb66 QMessageBox: Add property 'textInteractionFlags'.
Change-Id: Ia7a4801599f18a1202aa89f54e48066e3d271bfb
Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2012-12-20 21:38:19 +01:00
J-P Nurmi
71fdc0d8a6 Tests: stabilize tst_QAbstractScrollArea::setScrollBars2()
Use QWidget::isVisibleTo(parent) instead of isVisible(), just like
QAbstractScrollArea::replaceScrollBar() does. This removes the need
of using QCoreApplication::processEvents() to deliver the actual
hide event just for testing if the scrollbar was requested to be
hidden as it should.

Change-Id: Ie9a816e7b871d280a4b3d9d76adb10601915bd56
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Reviewed-by: Caroline Chao <caroline.chao@digia.com>
2012-12-20 21:16:53 +01:00
David Faure
92243bc346 tst_QDBusXmlParser: more reliable solution for setting the seed
As recommended by Giuseppe, don't rely on the env var, but use the
internal but exported seed atomic int. This way, the compiler will
detect breakages, rather than runtime.

Change-Id: Iec2bc88c53532d3463d2dc5c73631fc9bc34747b
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-12-20 21:16:53 +01:00
David Faure
a42a1db6e1 QAbstractProxyModel: Document setSourceModel a bit more
Especially so that subclasses remember to emit reset.

Change-Id: Iadcae3fc5fe72584465d4134f385ed0a1d77bfcd
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-12-20 19:21:47 +01:00
Venugopal Shivashankar
84dbdc8db6 Doc: Removed the \relates instances
QDoc supports \relates in the context of a function that
relates to an existing class or a namespace, but not in the context
of a class. We can use \sa to list the related classes or namespaces
for a class instead.

This change ensures that QDoc generates documentation for QMessageLogger
and QMessageLogContext classes.

Task-number: QTBUG-28468

Change-Id: I2242ab730fe5e3acf54b6fa65774e751d2daa7a4
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2012-12-20 16:48:36 +01:00
J-P Nurmi
12775b817f Style animations: fix QCommonStylePrivate::stopAnimation()
Explicitly delete animations, and remove the check for stopped state
as that is already done by QAbstractAnimation::stop() and we want to
delete the animation regardless of the current state.

Task-number: QTBUG-28506
Change-Id: I3e34316e5077a8627ff5e6d3babd1873bbbaa774
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2012-12-20 16:48:36 +01:00
aavit
a3a4114f53 Fixes: out of bounds memory access in QImage autotest
A pointer to the data of one qimage is used, with an offset, in a copy.
In the mono case, that could lead to overflow: the last row would
of the copy would stretch 1 byte beyond the end of the allocated
area. Fix by reducing the height of the copy, so that it keeps
within the allocated memory.

Task-number: QTBUG-28322

Change-Id: I09abfc83f738f8af000fc50f8c94f63dba3a6cfe
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2012-12-20 16:48:36 +01:00
Peter Hartmann
fbdea2c993 QUrl auto tests: make sure setAuthority is consistent with setHost
... with respect to empty and null strings.

Change-Id: Ic107d5bcc8b659497a567b75a7244caceba5a715
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-12-20 16:48:36 +01:00