This also fixes the underlying cause of QTBUG-44039 and QTBUG-43885.
You can choose between system, qt, and no libdouble-conversion
support. If you choose "no", snprintf_l and sscanf_l will be
used.
By default, system double conversion is used if the system provides a
double-conversion library. Otherwise the bundled libdouble-conversion
is built. sscanf_l and snprintf_l are not used by default as the
planned "shortest" conversion mode to produce the shortest possible
string will give less precise results when implemented with snprintf_l.
Change-Id: I8ca08a0fca5c54cf7009e48e771385614f6aa031
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Windows' configure.exe supports -ltcg since several years,
this patch adds -ltcg to Unix's configure script.
Change-Id: I3f39086c67c3f4cacd252f63de30e3cfc4aa22bb
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
After canceling the asynchronous read operation, the
notified() slot receives ERROR_OPERATION_ABORTED.
We must not handle this situation as an error.
This amends commit 5ce567c5.
Task-number: QTBUG-48336
Change-Id: Iff948ceb3ad1f805a9de8c188fbc39ed4c76ba82
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
A wayland compositor on i.MX6 needs to create the wl_display
before creating the EGL display. This wl_display then needs to be
exposed so that QWaylandCompositor can use it.
Change-Id: Id60f6dd2fbba05140ca0671da6f17dbc2ecce3a3
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
If the future is finished when a watcher starts watching it, it is
perfectly reasonable for the watcher to get the finished message
promptly. If you pause the watcher before any message loops get to
run, the message presently won't get through until the watcher is
resumed, but there is no reason to guarantee that; indeed, one could
consider it somewhat perverse behavior.
So move the reportFinished() calls to after the pause()s.
Also eliminate a used-once local variable and use QTRY_VERIFY() in one
place where qWait() was used before.
Change-Id: I4bc6091fd7437a4d341be511b7a140f3d72d850e
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Attaching spies afterwards was provoking a warning during tests:
QFutureWatcher::connect: connecting after calling setFuture() is likely to produce race
Change-Id: I6ee8c3613cecebd1c69b0337139d8a19a33f4a11
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Duplicate identifiers were introduced for QString code snippets,
resulting in the wrong snippets to be quoted.
Change-Id: I75e9c99cbc73bf39262079f7f53342a6ac90c2a7
Task-number: QTBUG-49111
Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
When calling handleMouseEvent and similar, there are two choices when it
comes to the global and local position: by specifying the window it is the
caller's responsibility to provide a valid local position. When the window
is null, QGuiApplication calculates the local position. The winrt plugin
chose the former and therefore passing the global position as local is
wrong.
Task-number: QTBUG-48208
Change-Id: I3e1137cdb5d023296c4d73899da016641303c7df
Reviewed-by: Andrew Knight <andrew.knight@intopalo.com>
Also involves adding support for sharing contexts.
Task-number: QTBUG-48663
Change-Id: I0b18846ae70b63a0a21132f820a12ea744c0e936
Reviewed-by: Andrew Knight <andrew.knight@intopalo.com>
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@theqtcompany.com>
Mention that it is still used by Active Qt.
Task-number: QTBUG-49148
Change-Id: Ic31b2f60b25886cd55c5fa516082d79311ab84cc
Reviewed-by: Fredrik Orderud <forderud@gmail.com>
Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
The compiler-generated ones would break class
invariants.
This internal class so far isn't copied. This patch makes sure
that it stays that way.
Change-Id: I8bf75058edaf2adf148ae9edff4bf4e9a3b3368d
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
Pass a QWindow pointer to QIcon::pixmap(), which
allows it to select a pixmap based on the target
device pixel ratio.
Change-Id: Ifb8e49c0eff0a42233a90eee3dfb995c2441bfd6
Task-number: QTBUG-38100
Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
Pass a QWindow pointer to QIcon::pixmap(), which
allows it to select a pixmap based on the target
device pixel ratio.
Change-Id: Ib592de2a25060658b70b4e4ab7ff5fbaa9b60260
Task-number: QTBUG-44424
Task-number: QTBUG-38100
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
Different multicast tests fail on different platforms for different reasons.
Blacklist them to get rid of insignificant and later fix/un-blacklist.
Change-Id: I91548366c7666478ea1cc446bbf337becfdefd49
Task-number: QTBUG-46612
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@theqtcompany.com>
Running for instance the widget auto tests reveals a lot of egl warnings
due to items being created and not shown. Hence no surface was created
but tried to be destroyed when window was deleted.
Change-Id: I5c99eeb94a8fc2cfeb98f85445e013de61ff9ca9
Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
Reviewed-by: Andrew Knight <andrew.knight@intopalo.com>
After returning from main() it is not sufficient to exit the main
thread, it also needs to be ensured that the Xaml::IApplication object
gets notified by invoking Exit.
Task-number: QTBUG-49141
Change-Id: I8ca434be5f17ddddd465ede2a79585c28c51b3ef
Reviewed-by: Andrew Knight <andrew.knight@intopalo.com>
The QWinRTEGLContext must not store the display, as it might get
destroyed while other objects still need it, for instance QWinRTWindow
to delete the surface. Rather create a global static for creating the
display once and delete it when application lifecycle ends.
Change-Id: Id176b6934e1d1327f5bb70ad0d258de91f675041
Reviewed-by: Andrew Knight <andrew.knight@intopalo.com>
The minimum feature level is now detected before requesting a display.
If it is less than 9_3, use the WARP device instead.
Task-Id: QTBUG-44495
Task-Id: QTBUG-44694
Change-Id: I9f81f4f92269fab73c291f7373aa07236c7e5f98
Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@theqtcompany.com>
Brings down gui/painting/qcolor from 7s to 3s, reducing the calls
to printf() helpers from 16E6 to 10E6.
Task-number: QTBUG-38890
Change-Id: I34065e6f09fc9a14920b06aa6936908229f3f9c4
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
A recent change uses an accessibility function even if accessibility
is disabled.
Change-Id: Ibf9afbb90120772065743b2f9dd3615e4e6a2f37
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
This separation makes it possible to make a
canadian cross build of Qt on a linux build machine.
The canadian cross build requires an external Qt that
runs on the build system.
Change-Id: Ifd83a4c6376d3299647e74bb349a3452a6f433fc
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
The previous implementations did not check the full mantissa. The result
was that certain NaN values were seen as +/-Infinity.
A nice benefit is that the generated code for this implementation is also
faster.
Task-number: QTBUG-47692
Change-Id: I1507ec579ccd9a2ab97da8cf83dabbc5d6e28597
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
We want to be sure that the conversions are independent of the current
locale set by setlocale(3) and we want to test both directions of the
conversion.
Change-Id: I01be19e680588478d07fd65a48796e806e681863
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
QAbstractSocketPrivate::readFromSocket() had a qDebug() that
references its q->... so it also needs its Q_Q() declaration.
Only relevant when QABSTRACTSOCKET_DEBUG is enabled (which it
normally isn't).
Change-Id: Ib82fd032fb2c4143a0987b9162377d0d7e968e95
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Since QSet<>::intersect() modifies the original
set, exitSetT1 has wrong content for next iterations.
Use intersects() instead.
Change-Id: I09e0961ec6dfb34ade88d48d1e009529aeab82b4
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
1. _HAS_DINKUM_CLIB is defined whenever a C header is included, even when
Dinkum is disabled.
2. _HAS_* macros are always defined, as either 0 or 1.
Change-Id: I727b854a6a733e2028e6facc327e264d0c4c9e90
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
As a follow-up for 5c1b9bbdf1 disable the
test on all platforms, since it fails on newer openssl. This was now
also happening on Windows, so until a fix is there, skip the test.
Change-Id: I6c8822c0ac5411b1114e9cd426219574ab1c9b54
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
Somehow qmake doesn't add the correct rules for the Android makefiles,
so the build fails when cross-compiling from Windows. The reason for
that is unknown (could be related to that "qt_android_deps" config, but
that isn't used anywhere in qmake or the buildsystem).
This isn't likely to be a problem, since there are no global installs of
Qt on Android.
Change-Id: I1d0f78915b5942aab07cffff140f95ce32324030
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
The QGuiApplicationPrivate object is already destroyed by the time
the plugins are cleaned up during the application destruction, causing
a segmentation fault in updateInputDeviceCount().
There's no point in calling updateInputDeviceCount() in the destructor
anyway as the whole process is on its way out that stage, and we
don't support unloading plugins during the application lifetime
otherwise, so the call can just be removed from the destructor.
Change-Id: Id819d73cb8234ccedb6ea7c3e39950589ee680a1
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
Some of the examples make no sense without bearer management and
QNetworkSession is not defined if QT_NO_BEARERMANAGEMENT, so
tst_qnetworkreply.cpp has to be adjusted.
Change-Id: Ic2f73746cba74f670ae5b5e99b0be1461ff6d182
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
The Windows code was always returning AnyScript, which in turn made
QLocale::textDirection() for the default and system locales always
return LTR, even if the Windows UI was in RTL mode.
[ChangeLog][QtCore][QLocale] Fixed a bug that caused
QLocale::textDirection() to always return Qt::LeftToRight and
QLocale::script() to return QLocale::AnyScript on for the Windows system
locale.
Task-number: QTBUG-49031
Change-Id: I7e6338336dd6468ead24ffff14112c8d348eedba
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
The function is not limited to creating top level windows.
Change-Id: Iedeeba0093f251c852e9b7c9ba23c567a79a53f8
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
As we cannot style the navigation elements freely with the restricted
version of CSS that QTextBrowser supports, we need to inject
separator elements between the prev/next page links.
This change adds a 'bullet' character wrapped in a <span> as a
separator. A rule is added to the standard offline CSS to hide the
separator as it's not needed there.
Change-Id: I13220a2a60e2d3063f94bc7dff0e4320d0bed4f6
Reviewed-by: Martin Smith <martin.smith@digia.com>
Move touch device initialization code to QWindowsContext and
replace the assert on the touch device in QWindowsMouseHandler
by a call to the initTouch().
Task-number: QTBUG-48849
Change-Id: If8573b8283ef94e7fd015f6edc626e3c8cc0b139
Reviewed-by: Joni Poikelin <joni.poikelin@theqtcompany.com>
Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Change-Id: I50a3e5584a1bc2553acd4bbec1b9a290b8475e47
Reviewed-by: Markus Goetz (Woboq GmbH) <markus@woboq.com>
Reviewed-by: Richard J. Moore <rich@kde.org>
We need C++11 support. The ChangeLog is in the previous commit.
Change-Id: Ib056b47dde3341ef9a52ffff13ef6bfa55462a22
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
Commit 4bb004de94 broke the linker
options in generated Visual Studio projects.
We need to call fixLibFlags on QMAKE_LIBS and QMAKE_LIBS_PRIVATE.
Task-number: QTBUG-48936
Change-Id: I2f12bf0117d27104cd34f2f43fdeb7b948fa375e
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
The latter is much faster as it doesn't have to deal with
time zones.
This change is safe, because the QDateTimes are only used for
comparison with other QDateTimes, which, from a quick glance around,
seem to be mostly, if not exclusively, in UTC. Comparsions work
across time zones, but the comparison between UTC date-times is
fastest.
Credits to Milian Wolff, from whose QtWS15 talk this advice is
taken.
Change-Id: I6859d886d8dc8e0a52fbe394fbb7b93a87b4739a
Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
Skip the correct number of bytes in the read buffer when expanding '\n'
into "\r\n" upon writing.
Change-Id: I5b01fc47c330dee5c83001abf0acd7d63d790b96
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Since there are circumstances where the session is not yet created after
start() is called then we should check if the session is valid before
connecting to it.
Change-Id: I94236f76e4be2433a8c96eb91ce2d4b4d42f2fd9
Reviewed-by: Richard J. Moore <rich@kde.org>
- On NetBSD, the defines were not properly defined;
- On all other BSD systems, we use statfs which does not have f_frsize
member, revert to using f_bsize there.
Task-number: QTBUG-48267
Change-Id: Ia1ed484ac61a615fcbb5b45affb516b5e86a64b0
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Lisandro Damián Nicanor Pérez Meyer <perezmeyer@gmail.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>