The function was crashing when an unsupported type id was given
as an input argument.
Change-Id: I2b0e3e6d43f6f248dc71532f8e6485efe68e8120
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
The bug has been fix by 7bc576771d .
Task-number: QTBUG-24326
Change-Id: Ifd37e9fe76cb24e49132f22909c95a55a230b1ed
Reviewed-by: Sergio Ahumada <sergio.ahumada@nokia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Ported from QDom to QXmlStreamReader. This enables removal of QtXml
classes from bootstrap.
A new rcc test was added, copying the data from the
QResourceFileEngine test. The new test runs rcc to create binary
resources, dynamically loads them under various locales and checks
that they do contain the expected files.
Change-Id: I15d23dfda45de851a421156951ce2a60af4c1f7f
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: hjk <qthjk@ovi.com>
This is all pretty straight-forward, adding .constData() or
using QString::fromLatin1() instead of QLatin1String().
Change-Id: I984706452db7d0841620a0f64e179906123f3849
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Required changes for using shared graphics cache for distance field
raster glyph rendering. Most of the logic is in platform plugins.
Platform plugins should implement
QPlatformIntegration::createImagePaintEngine() to create a subclass
of QRasterEngine.
Change-Id: Icf0a396e722e43b4caa2c1849aae38753cde38f1
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
This logic was introduced as part of change I92dfb39289a359f49caa02c2caf8baf66098fb59
but isn't used anymore.
Change-Id: I5bcfea99a7a2993434e1e978195a70dae52d6cfa
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
The statementStr parameter should always be non-null, so assert if it is
null. The description parameter can be null in some cases (particularly
when the verify is successful, and thus no error description is going to
be displayed), so tolerate this.
Change-Id: I87b416d5f3b793bc608cd4aca14a4f7fe7527488
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Another role that is mostly needed to make Qt based desktops accessible.
Would be nice to have for KDE's Plasma in the future.
Change-Id: I1d2ce9d55d677f73cc59f0a3646ee5e588c1d948
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
(cherry picked from commit edc6fae534835a2c72edffb52255fe522a37928f)
In Qt 4 index 0 was the widget itself.
With the cleanup of child index this now changed.
The default constructor uses -1 as parameter to signify that
the widget is the cause, not a child.
Change-Id: I329a1cc91bf2d1d1d8534739acbddfe107f40364
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
If the expected output file was missing (e.g. not included in
selftests.qrc), tst_selftests would trigger an assert inside QList by
calling QList::at() on an empty list. Make tst_selftests detect this
error instead and give a meaningful error message.
When loading expected output for the crashes selftest, where there are
several alternative versions of the expected output, the code reused the
"exp" variable when loading the alternative test output files. This
caused the last file loaded to be used unintentionally if none of the
alternative files had the correct number of lines. Use a different
variable so that exp remains empty if none of the alternatives are
valid and a failure can be reported.
Change-Id: I35b2a3d905d069d3ee8dcb1447836eb68d5c8612
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Previously, verbose (-v2) and XPASS test output showed all QCOMPAREs as
"COMPARE()", making it impossible to see what was compared and difficult
to match the output to the source of a test containing many calls to
QCOMPARE.
This commit changes testlib's internal compare_helper API so that string
representations of the compared expressions are always passed to
QTestResult::compare() when available, and can thus be shown in the
verbose and XPASS output. The XPASS output has also been changed to
state explicitly that the comparison succeeded unexpectedly, bringing it
in line with the XPASS output resulting from a call to QVERIFY.
This commit also changes all calls to compare_helper() to call the
eight-argument version of the function, which simplifies much of the
calling code. The now obsolete four-argument version of
compare_helper() has been changed to output a warning that it is
obsolete. It will be removed once other modules have had some time to
catch up.
The improved XPASS and verbose output is demonstrated by the expectfail
and verbose2 selftests.
Change-Id: I8baa46d5dd30e6c43b26f366c34dc5b64aab5f7c
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
There was a problem with slow https connections that if the download
was ongoing when quit() was called then it tended to cause a crash
because it tries to shutdown the SSL connection.
Task-number: QTBUG-24594
Change-Id: I6b161bc7a9bb99e41849537462de2d7c92661902
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
Reviewed-by: Martin Petersson <Martin.Petersson@nokia.com>
This is unfortunately still "most of them", because of QTBUG-24451
however some of the unit tests are still possible to test stably.
Also skipped test cases which would hang forever due to QTBUG-24451.
Bearer tests are not run, because they pass when test machine has no
wireless LAN, but fail or hang if it does (QTBUG-24503)
Change-Id: Icf99d45707102d2ef9219ed0b5ad521605716219
Reviewed-by: Sergio Ahumada <sergio.ahumada@nokia.com>
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
If both "automatically detect settings" and "use automatic configuration
script" are selected in internet options, then respect that.
Because of performance issues, these are tried separately, and
disabled if they fail.
Task-number: QTBUG-13957
Task-number: QTBUG-10238
Change-Id: Ibc824d3039afeaf12c5ea82ed95287e5cf4e1776
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Reviewed-by: Richard J. Moore <rich@kde.org>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
TcpServer requests always returned no proxy, even if socks was available
Tag handling was broken for empty tag (if system proxies were tagged)
Tag handling was broken for unknown tags - now handled the same as if
no tag was given at all.
When there are different proxies for http and https, windows returns
the http proxy first. However we should prefer to use the https proxy
for general sockets, as it's more likely to support the CONNECT method.
Change-Id: I55dcadf2e142367e857f94e55fdbb0c4ddb513a3
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Reviewed-by: Richard J. Moore <rich@kde.org>
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
Rather than requiring specific hardcoded proxies in the system,
it now checks the proxies returned by the system have the required
capabilities for the request.
Note the test will pass if no proxy is configured (as
QNetworkProxy::NoProxy has all required capabilities)
The test prints the returned proxy lists and elapsed time
diagnostic for manual comparison and debugging.
Change-Id: I621ef4d1d7264a98c3e8bd485c30bc1166fcbdf0
Task-number: QTBUG-19454
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
If both manual proxy settings are configured and the autodetect
setting is enabled, fall back on the manual configuration when
auto detection fails.
Task-number: QTBUG-10428
Change-Id: If008c7c967eec6256ce3c614fff0ec258190d451
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
The PAC file may result in direct connection, in which case
WinHttp returns null strings for the proxies and the connection
type marked as direct.
In this case, return the default list (no proxy)
Change-Id: I601033f56a841bb92ea80a28174bb993b024ad79
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
When the windows internet options are used to specify a
different proxy for each protocol, assume the proxy server type
matches that protocol too.
e.g. "socks=qt-test-server:1080" is both tagged for socks, and
assumed to be a socks server.
"ftp=qt-test-server:2121" is assumed to be an ftp proxy
"ftp=http://qt-test-server:3128" is overridden to be a http proxy
used for ftp.
Task-number: QTBUG-10502
Change-Id: I70615c89d6ede53f0e7d62e6d0754b90d042aa2e
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
It's unstable on all platforms, because the reply can be finished
due to a race with the http thread. It isn't crashing (which the
test was trying to test for), but rather the QVERIFY(!reply->isFinished())
fails, which is an inconclusive verdict.
Change-Id: Ib815a7cedd220544a0c9cb83023e3334df4a0fb3
Reviewed-by: Martin Petersson <Martin.Petersson@nokia.com>
The metatypes are registered in the constructor, don't need to
register them in test cases as well.
Registering in a test case is bad practice, as it could result
in tests failing when run individually due to unknown metatype.
Change-Id: Ic4d65d0f5fe3cdd3ab57cf2512a4906d71205a05
Reviewed-by: Martin Petersson <Martin.Petersson@nokia.com>
The test case that depends on QLocalSocket consistently fails due
to bugs in QLocalSocket windows implementation
Change-Id: Ibfe9eb3590be4f72b52f14cd4fbe5be61f6cf70e
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
The implementation uses QScrollBar, which is no longer
included by <QtGui>.
Change-Id: I2422cfccc427179ca71e9a3195f16bd637925fb3
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
QPointF is in the category of types for which QList
is needlessly inefficient (elements are copy-constructed
onto the heap and held through pointers). Use a vector
instead. This is consistent with the QPainter API.
Change-Id: Id0e910c067a60d12fbc175e7ee7da824834be374
Reviewed-by: hjk <qthjk@ovi.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
We need qdoc in qtbase to be able to properly
modularize our documentation and build it
when building the different Qt modules.
qdoc does contain a copy of the qml parser from
qmldevtools, but this is the lesser evil compared
to how we are currently forced to genereate our
docs (and the fact that no developer can run
qdoc and check the docs for their module).
Change-Id: I9f748459382a11cf5d5153d1ee611d7a5d3f4ac1
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
Reviewed-by: Martin Smith <martin.smith@nokia.com>
there is totally no reason to call it unless the project is actually
used for makefile generation, and the excessive calls actually mess up
things.
Change-Id: Idb7912a5404f6054010d2f29cce820a167de4f6f
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
- Introduce cursor() accessor to QPlatformScreen.
- Remove screen member of QPlatformCursor (a
cursor can be shared by multiple screens
of a virtual desktop).
- Add QCursor::pos()/ QCursor::setPos() taking
a QScreen-parameter, use primaryScreen() for
old overloads. QCursor::pos() can then query
the platform cursor for the position and return
the position even if the mouse position is outside
the windows owned by the Qt application.
- Fix tests
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Task-number: QTBUG-22457
Task-number: QTBUG-22565
Task-number: QTBUG-20753
Change-Id: Ia69f37343f95772e934eab1cd806bd54cbdbbe51
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
When adding and showing a central widget in a QMainWindow then the
layout does not respect the size policy of the central widget.
This is a side effect of 059be19781a22d2e41f22072152589857d0fabf9
After the layout of QMainWindow is restored or the separator between central
widget and dock widgets is moved by user, dock widgets should keep their
size when the window if resized.
Task-number: QTBUG-15689
Change-Id: Idfccb7b4ae057a99f431c2ed54e3b9fcfb6ef54c
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Exporting the counter that controls the optimization of a compiled
pattern lets us to forcibly optimize all patterns. Therefore,
two tests are now run: one with default optimization values
and another one which always optimizes the pattern.
The counter itself was renamed with a qt_ prefix and put
inside the Qt compilation namespace
(thanks to rohanpm for pointing it out).
Change-Id: I56602433d37adc127772b2d0d2cdaf2e49d43c71
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
17ddce4692 removed the endian test.
90a5492fb0 removed the ipv6 test.
largefile and nix are long dead.
Change-Id: If8e5d4f0546e30778b82ee99f662cb9ed3aefacb
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Fixed iconv.pro file to follow the qnx mkspec renaming from blackberry- to
qnx-
Change-Id: I91e0e2495d0ec70c6ffec3e3e83eb8712805b3aa
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Widgets will receive extra mouse press events when double clicked. This
is a side effect of change Id Ief6af12c666b23e544da4a68cb835cd577265469
which has partially fixed the folowing bug.
Task-number:QTBUG-24649
Change-Id: I030ac6ba641050d40ac8989720a1c261ab15f849
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Popup widgets steal the keyboard grab stealthily without it being
visible via QWidget::keyboardGrabber(). To more accurately simulate a
real keyboard event, prioritize sending simulated keyboard events to
the active popup widget over QGuiApplication::focusWindow().
Task-number: QTBUG-24326
Change-Id: Id7a75c613d934e24657b521f1684ce7cce92556a
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
Fixed a logic error that prevented override cursors being applied in
Windows plugin. The logic for override cursor handling is already
in crossplatform code, so no need to do extra checks in plugin.
Task-number: QTBUG-24657
Change-Id: Ied9b36b57f22607ef5bb5c30f2926b0053eebca5
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Implement drag and drop support for drags originating
from outside Qt. Port mime and pasteboard code from
Qt 4. Use QSimpleDrag from from platform support to
implement internal Qt drags.
Change-Id: I5b664a95ebb00f48de2bd21c24dfb579af16123e
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
buttontester.pro has to be renamed to mousebuttons.pro because it lives
in mousebuttons subdirectory, to which examples/widgets/widgets.pro is
pointing by SUBDIRS variable.
Change-Id: I04bbd85713321337fbe8cbccfa6284f12b677279
Reviewed-by: Rick Stockton <rickstockton@reno-computerhelp.com>
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
Commit 1e6514a714 changed the mutex from
recursive to non-recursive, which could introduce dead lock if the
animation starts other animation (This is the case in QMainWindow
layouts)
Change-Id: I1b149b78a802748eb24b5700fffeca0b8555f005
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
- Remove QPlatformFontDatabase::defaultFonts() returning
a hash containing widget name ->font and the Windows
implementation.
- Add enumeration and font accessor to QPlatformTheme. The value
returned for the enumeration value overwrites the default font
of the font database.
- Implement for Windows, Mac and KDE.
- Add more Windows palettes.
Task-number: QTBUG-23686
Change-Id: I8a2abdfd216df23daa7c9630c54264cdf61295db
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
The function can be used only with a registered type and it would fail
to compile for other types. By adding the static assert we can print
an almost user friendly compilation error message.
Change-Id: I59ab148cabf32afe0baef186b82cb03303b57780
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
These tests were not aware widgets had been split to different lib.
Change-Id: I58bde1304c876319a3cbb50f4d6a66e9f24b2886
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
We need to load OpenType tables when initializing fonts for
scripts that require them. This fixes support for many Brahmic
scripts.
Change-Id: Ib5e50f2c7e5edb4b3e3ecf9fd004f2cf62634add
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Q_DECLARE_METATYPE macro is much better for a custom type registration
then a handwritten template specialization.
Change-Id: Ia15688d89f708fbff0c1da93e08052d31f3b3fc0
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Mention in changes and document Qt version (merci à dfaure).
Follow-up to 291e2c7d54.
Change-Id: Ie5626e9cd268812c1173ca494ccd8d6bd9be2687
Reviewed-by: Honglei Zhang <honglei.zhang@nokia.com>
When an aggregate function is used for a column in a SQL resultset then
it should ensure that the right data type is reported for that column.
This also concerns expressions when the returned column does not map
directly to a table column.
Test included for this.
Task-number: QTBUG-22038
Change-Id: I07487694c0ed393d46af06e232914fe923356a99
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
Reviewed-by: Honglei Zhang <honglei.zhang@nokia.com>
headersclean enforces various rules which all Qt headers are supposed to
abide by. It fails compilation if these rules are broken.
These rules should be followed also by modules hosted outside of
qtbase. Split the test up so that it can be easily reused by other
modules.
Change-Id: Icf09cbfde411c926ed87914dc821e6dfc569b0de
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>