Commit Graph

35287 Commits

Author SHA1 Message Date
Aaron Linville
cdf4261c8f Doc: Fix typos in qmake function reference
Removed duplicate "for the".

Function list was sorted except for sprintf; so sorted it. Also, minor
grammatical improvement.

Task-number: QTBUG-64362
Task-number: QTBUG-64363
Change-Id: Ia47c5195011a0e578e916897b3a5ddb1d78170ad
Reviewed-by: Frederik Schwarzer <schwarzerf@gmail.com>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2018-02-13 03:00:19 +00:00
Aaron Linville
64b8ddb755 Doc: Fix links to QFontMetrics::width() overloads
Links to width(QChar) are incorrectly linking to QChar rather than to
the intended QFontMetrics::width method.

Task-number: QTBUG-65141
Change-Id: I1647885c735011ec3d99c535fdb8b7fc1bf57f99
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2018-02-13 02:59:44 +00:00
Allan Sandfeld Jensen
0b300c9409 simd.prf: Add support for compiling .c sources with the C compiler
Right now we are using the C++ compiler here, which relies on
the compilers automatically switching mode. This behavior is also
deprecated in newer clang versions and block clang developer
builds.

Task-number: QTBUG-64822
Done-with: Thiago Macieira <thiago.macieira@intel.com>
Change-Id: I4d3c00ac528a45934c85777f42d243d0fe367c92
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2018-02-12 23:46:48 +00:00
Tor Arne Vestbø
211791d01c Add support for Apple Unified Logging
If the OS supports it, we will now log to the Apple unified logging
system in addition to the normal stderr output. These logs can be
inspected via the Console application, or the 'log' command line
tool.

See https://developer.apple.com/documentation/os/logging

[ChangeLog][QtCore] Apple Unified Logging is now supported on Apple platforms.

Task-number: QTBUG-38156
Done-with: Jake Petroules <jake.petroules@qt.io>
Change-Id: I2ab92bd192d5b98aaf77e41501ea7b1ca6ef2425
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2018-02-12 23:35:13 +00:00
Konstantin Tokarev
da1ca1be51 Remove QLibrary code path specific to HP-UX on PA-RISC
The only mkspecs that enabled QT_HPUX_LD were removed in ab44ac021d.

Change-Id: I9f27f0b487b69c11d19ba76801e3926b7894e6e7
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2018-02-12 19:43:52 +00:00
Christian Ehrlicher
b2b32682a9 qtbase: Remove BLACKLIST files which are no longer active
Remove BLACKLIST files which are no longer valid because the mentioned
CI systems are no longer active:
 - opensuse-13.1
 - opensuse-42.1
 - rhel-7.1
 - rhel-7.2
 - rhel-7.3
 - ubuntu-14.04
or the testcases are no longer available:
 - QTBUG_14292_filesystem in qactiongroup

Change-Id: I80a4397059fafba169096440fdc07d45c76a1ed8
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
2018-02-12 17:40:12 +00:00
Christian Ehrlicher
383d2eaab4 Fix autotest tst_QAction::setStandardKeys()
The possible key sequences for QKeySequence::Copy on X11 is Ctrl+C, then
Ctrl+Insert and at last F16. The order is defined in
QPlatformThemePrivate::keyBindings.

Task-number: QTBUG-46053
Change-Id: I86a0767e268088edfce98cfb07f9fb78f00d0713
Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
2018-02-12 17:39:57 +00:00
Ville Voutilainen
a211d5379b Blacklist a flaky scrollbar test on macos
Task-number: QTBUG-66321
Change-Id: Ib632ffad993e178305884170fdfe17809ea1e1e6
Reviewed-by: Sami Nurmenniemi <sami.nurmenniemi@qt.io>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2018-02-12 17:00:53 +00:00
Kari Oikarinen
38b6ac6544 Skip tst_QFile::largeUncFileSupport
If more than one VM tries to run the test at the same time, it times out. These
sharing violations were attempted to be worked around in 1c3dc8cfb, but the
workaround just leads to timeout, not success.

Task-number: QTQAINFRA-1727
Task-number: QTBUG-66216
Change-Id: If8bfd60dbb6575843680971d45b1c82e5beff534
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Sami Nurmenniemi <sami.nurmenniemi@qt.io>
2018-02-12 10:26:00 +00:00
Oliver Wolff
c168838f7d winrt: Correctly check if mouse button was clicked
The idea behind this code was to check, whether no
button was pressed. !isPressed only checks, whether
XButton2 was pressed though.

Change-Id: I358816fa62d230abf82116f0da7bc3a5e43fbaf6
Reviewed-by: Andre de la Rocha <andre.rocha@qt.io>
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
2018-02-12 07:39:58 +00:00
Oliver Wolff
c4f0908f78 winrt: Keep track of affected window for mouse events
With the previous implementation mouseLeave events were
broken as we did not remember, which window was initially
affected by events and naturally there was no window under
the mouse for these events.

Now we save the currently affected window and use this
information for leave events.

Change-Id: I4036ce5e6621b507232d258dbb54c7f40a345899
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
2018-02-12 07:39:57 +00:00
Oliver Wolff
4ea4279875 winrt: Fix mouse releases that happen outside a window
If the mouse button is released outside of a window,
we did not trigger a mouse release event.

Task-number: QTBUG-66088
Change-Id: I3ef6234cc922c8c59ac3aa6350783fae4ba36bda
Reviewed-by: Andre de la Rocha <andre.rocha@qt.io>
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
2018-02-12 07:39:56 +00:00
Oliver Wolff
675603a853 winrt: mouse handling: Fix detection of affected window
With the previous implementation the detection of the
affected window (windowAt which uses QWindow::geometry)
only worked for the upper left quarter of the window,
when used on a High DPI screen. As QWindow does not use
native positions, the mouse cursor's position has to be
mapped before checking the window under the mouse.

Change-Id: I1a30b9669ec3e4c573cf83aed57c20d65675ff16
Reviewed-by: Andre de la Rocha <andre.rocha@qt.io>
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
2018-02-12 07:39:56 +00:00
Christian Strømme
72918d196c Android: Don't rely on QDir::homePath() to get the application directory
If the QLoggingRegistry gets called as part of the static initialization
phase, it would call into Android's QStandarPaths implementation, which
assumed that the HOME env. variable was already set. Since the variable
isn't set before main is called, QDir::homePath() returns the root path,
which would be cached and always returned.

With this fix we now call Android's getFilesDir() directly, which will
always return the right path. Since the font locations are also relying
on an environment variable being set, we no longer cache that either.

Task-number: QTBUG-65820
Change-Id: If45f3d5f0e87b808a62118ae95c31b492885646a
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
(cherry picked from commit eadf9e542f)
2018-02-12 00:16:17 +00:00
Alexander Volkov
9d293e24a0 Windows QPA: Implement QPlatformWindow::startSystemMove()
Task-number: QTBUG-58044
Change-Id: I15639d505683159b4cc31d762cb0bebbfc57e594
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2018-02-11 19:53:14 +00:00
Thiago Macieira
fcad1c762b QVariant: Add missing conversion from QJsonValue to double & float
Change-Id: I56b444f9d6274221a3b7fffd150d2ff1df5228bc
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2018-02-11 17:59:28 +00:00
Thiago Macieira
abc891ee7c Documentation: don't suggest abort() in qInstallMessageHandler()
The backend will do the aborting. The handler doesn't need to do it.

Task-number: QTBUG-66295
Change-Id: I3debfc11127e4516b505fffd151166d4a8e9ec53
Reviewed-by: Martin Smith <martin.smith@qt.io>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2018-02-11 17:59:20 +00:00
Morten Johan Sørvig
be73b00bc2 macOS: Bump deployment target to 10.11
Qt 5.11 requires macOS 10.11.

Change-Id: Iebbde845805a5ca382c34d0fe9176e8a9f7a2783
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
2018-02-11 17:02:31 +00:00
Jake Petroules
138a65e0cf Remove code paths for macOS < 10.11
Change-Id: I5ae02d88aa3dcd97d1f2ebf6255a68643e5d6daa
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2018-02-11 17:02:26 +00:00
BogDan Vatra
2c9dcfa004 Load Qt libs from Qt thread
[ChangeLog][Android] The application and dependent Qt libraries are
now loaded on the same thread as main() is run on, ensuring that global
static initializers, constructor functions, and main() are all run on the
same thread. The same applies during application shutdown, for destructors
of global objects, and destructor functions.

Change-Id: Id4bfece1ed2a0532ed2e8fb7d8ffd6e55d5a10dc
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2018-02-11 12:35:29 +00:00
Thiago Macieira
4ba535616b QSaveFile: Check for EINTR in fsync()/fdatasync()
[ChangeLog][QtCore][QSaveFile] Fixed an issue that would cause
QSaveFile::commit() to fail if Unix signals were delivered at the same
time.

Task-number: QTBUG-66268
Change-Id: I3debfc11127e4516b505fffd151148e70662cd5e
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: David Faure <david.faure@kdab.com>
2018-02-11 04:31:00 +00:00
Tor Arne Vestbø
9b800b55c1 logging: Break out stderr logging sink into separate function
Change-Id: I4bc476376d2b84297c1798b016017db496532d27
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2018-02-11 03:32:25 +00:00
Tor Arne Vestbø
a29e1fc708 logging: Don't build alternate logging sinks for QT_BOOTSTRAPPED
This means willLogToConsole does not need to consider the boostrapped
case anymore.

Change-Id: I088245362cd46c582a2a08225d22e4d2e4645c06
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2018-02-11 03:32:25 +00:00
Tor Arne Vestbø
3cee4308dc logging: Break out QMessagePattern error reporting into standalone function
Makes for a less awkward logic without any if (0) etc.

Change-Id: I3db0984c5a0bbf1615c2feb2ebef59b4ec16e9ae
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2018-02-11 03:32:25 +00:00
Tor Arne Vestbø
c94ef51f0c macOS: Blacklist tst_QStyleSheetStyle::task232085_spinBoxLineEditBg
Likely fail is 3d29a0dd74. Is preventing
merge from dev, so blacklisted for now.

Task-number: QTBUG-66324
Change-Id: Ieb522897e93d4a1b4c0e423fadd4138dfb089093
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2018-02-10 20:39:11 +00:00
Jani Heikkinen
095dbc494c Merge "Merge remote-tracking branch 'origin/dev' into 5.11" into refs/staging/5.11 2018-02-10 20:39:02 +00:00
Liang Qi
32b506d1db Merge remote-tracking branch 'origin/dev' into 5.11
Conflicts:
	src/corelib/tools/qvarlengtharray.qdoc
	src/corelib/tools/qvector.qdoc

Resolved documentation changes in favor of 017569f702,
which keeps the move overloads along with its const-ref sibling.

Change-Id: I0835b0b3211a418e5e50defc4cf315f0964fab79
2018-02-10 15:55:52 +01:00
Tor Arne Vestbø
0b48fcee70 testlib: Don't set QT_LOGGING_TO_CONSOLE
QtTestLib has its own message handler installed via qInstallMessageHandler,
so there is no need to set QT_LOGGING_TO_CONSOLE to force stderr output,
as that's what QPlainTestLogger::outputMessage uses anyways.

And in the case of using other testlib outputs such as XML, we're not going
to hit any of the code paths that would check QT_LOGGING_TO_CONSOLE.

The only relevant exception is Windows, which checks stderrHasConsoleAttached(),
which is affected by QT_LOGGING_TO_CONSOLE, but Qt Creator actually has an
explicit inversion of this existing code, to prevent it from setting
QT_LOGGING_TO_CONSOLE, so that output ends up in OutputDebugStringA
and can be read and distinguished from the debugger's output.
See QTCREATORBUG-16161.

Change-Id: Ia8a9b00b221ec5691b52485586f172c9261bf299
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2018-02-10 12:54:52 +00:00
Tor Arne Vestbø
24a93798b8 logging: Use !QT_BOOTSTRAPPED instead of QT_BUILD_CORE_LIB
The former is the preferred way in Qt to exclude code that shouldn't
be built for bootstrap tools. For qlogging.cpp this includes the
bootstrap library, and qmake, both of which have QT_BOOTSTRAPPED
defined.

Change-Id: I94b669aae308786eded92b30b5e3f63add069756
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2018-02-10 02:49:30 +00:00
Ville Voutilainen
a0da6df87b Blacklist a flaky menubar test
Task-number: QTBUG-66255
Change-Id: Ia7c493496c3fbd551e724853e4f70e3500a1bb74
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2018-02-09 20:37:02 +00:00
Gabriel de Dietrich
bd80f00f84 QMacStyle: Fix crash when using Freetype font engine
This amends cf7a4016a1.

Change-Id: I8bb3e934d10b2f522539b73ceaa80a9a4608ef12
Task-number: QTBUG-66248
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2018-02-09 19:49:44 +00:00
Tor Arne Vestbø
ad8a3e3530 logging: Group alternate logging sink implementations
Change-Id: Iac703559658edf16c56f4c54cf71cd6188d1db4e
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2018-02-09 19:45:46 +00:00
Frederik Gladhorn
a72b6fe676 Blacklist tst_QtConcurrentMap::qFutureAssignmentLeak
This test was blacklisted in 5.10 on opensuse, but it fails a lot on
ubuntu as well. While we are discussing a real fix for this, temporarily get this out of
the way.

Task-number: QTBUG-63152
Change-Id: I4f1d3b261013052636ee13eda30f94b647a43a38
Reviewed-by: Sami Nurmenniemi <sami.nurmenniemi@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2018-02-09 18:45:28 +00:00
Sami Nurmenniemi
c19d532393 Fix tst_QTcpServer::maxPendingConnections flakiness
Task-number: QTBUG-63152
Change-Id: I5ccd07f31d47048d81e85f69e1327f4f7c760257
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2018-02-09 18:45:25 +00:00
Sami Nurmenniemi
9ac09dcc68 Blacklist flaky cases
Task-number: QTBUG-66216
Change-Id: Iae973c1224c940752e2c3162d8c64539966ff7ac
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2018-02-09 18:45:23 +00:00
Sami Nurmenniemi
44402f5075 Skip tst_QDBusAbstractAdaptor peer tests
The peer Tests for QDBusAbstractAdaptor are so flaky that it's
very difficult to get any commits through to qtbase.

Task-number: QTBUG-66216
Change-Id: I8da80f71aa832e683f72129cb2d4785425d39c00
Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
Reviewed-by: Sami Nurmenniemi <sami.nurmenniemi@qt.io>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2018-02-09 18:45:15 +00:00
Andy Shaw
c48f4bde00 Set the ellipseDiameters back to the original size in QGraphicsView
When calling setSceneRect() on a QTouchPoint it will cause the
ellipseDiameters to be changed, whereas this should not be affected by
the scene rectangle as it should be in logical pixels.

Also add a manual test for visually checking the ellipse diameters on
various devices.

Change-Id: I1ee9207cb1a63cfef33fe904594c73aba221af5c
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2018-02-08 21:25:01 +00:00
Andy Shaw
83b0abf928 Use the right attribute when checking if shortcuts are shown
Change-Id: I784965dda64551e6093af817881aa6472d2cc226
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
2018-02-08 21:24:50 +00:00
Friedemann Kleint
b624cdac21 tst_QSharedPointer: Fix termination of external processes on Windows
Timeouts with subsequent failures to delete the temporary
directories have been observed in COIN.

Previously, QProcess:terminate() was used to end the processes,
which does not have any effect on console processes on Windows.
Add a helper function which resorts to kill() on failure
to terminate().

Change-Id: I05539d1703280d34b392f2e8ff8565b9a04d703c
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2018-02-08 19:56:03 +00:00
Andy Shaw
6c6ace9d23 psql: Improve performance of record()
In order to save having to always run a query to get the tablename for
a known oid then we cache the result on the driver side. The oid stays
the same while the table exists, so only on dropping it would it change.
Recreating the table causes it to get a new oid, so there is no risk of
the old one being associated with the wrong table when this happens, if
the driver is still open at that point.

The benchmark added shows the improvement from the previous code, before
the results for PostgreSQL was:

RESULT : tst_QSqlRecord::benchmarkRecord():"0_QPSQL@localhost":
     259 msecs per iteration (total: 259, iterations: 1)

whereas now it is:

RESULT : tst_QSqlRecord::benchmarkRecord():"0_QPSQL@localhost":
     0.000014 msecs per iteration (total: 59, iterations: 4194304)

Task-number: QTBUG-65226
Change-Id: Ic290cff719102743da84e2044cd23e540f20c96c
Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de>
Reviewed-by: Robert Szefner <robertsz27@interia.pl>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2018-02-08 18:24:48 +00:00
Tor Arne Vestbø
fe5ba70e55 Prevent duplicated log output when using alternate logging sinks
3d02e75c07 was too quick, and didn't account for the fact that the
old code had early returns for each alternate logging sink, so when
removing the qt_logging_to_console() check, we would end up writing
debug output twice.

This is due to e.g. Qt Creator running the application without a
console, so qt_logging_to_console() returns false, so we end up
in e.g. the win_message_handler(), calling OutputDebugString,
but then we unconditionally print to stderr, which Creator
also reads, so we end up with duplicated log messages.

Change-Id: I91573828576608643477ae27d36d7e819f92985d
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2018-02-08 16:59:17 +00:00
Tor Arne Vestbø
7ec9813490 Fix inverted logic in slog2 log handler for when to disable logging
If we are logging to the console, we should _not_ log to slog2, like
the other log backends.

Change-Id: I6d16704c0f0923f54b3dc030d374af9805c2af06
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2018-02-08 16:59:16 +00:00
Oswald Buddenhagen
f1d227bceb Bump version
Change-Id: I668f25fddaf597db4b3b5537379acd3a2f4c4f8f
2018-02-08 17:07:19 +01:00
Adam Treat
36171af399 Make use of our egl convenience code for QNX QPA
This fixes various problems that occur because the current egl context
assumes OpenGL ES 2.0 and does not support newer versions of ES.

Task-number: QTBUG-64306
Change-Id: I81466ba5cf028b47ca5a2ebcdc702167aff655a2
Reviewed-by: James McDonnell <jmcdonnell@blackberry.com>
2018-02-08 01:28:41 +00:00
Johan Klokkhammer Helsing
96bf3b7a74 eglfs_kms_vsp2: Try to recover when failing in the middle of a blend
Blending can fail if one of the input buffers is destroyed in the middle of the
streaming operation. In that case, turn streaming off so blending can be
attempted again after disabling the input.

Change-Id: Id5c82b22a2ed0858ab20902395830efa0e64177d
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2018-02-07 20:29:34 +00:00
Antti Kokko
41bcb31ab9 Add changes file for Qt 5.10.1
Done-with: Thiago Macieira <thiago.macieira@intel.com>
Done-with: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Change-Id: I9f3c5a830d210e1224ffbc69979733ec7cf629c6
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2018-02-07 16:13:26 +00:00
Richard Moe Gustavsen
75c22d4598 QCocoaWindow: be more careful when flushing events
Flushing the QPA event queue is problematic since we can then end up
delivering several events to Qt (or the app) at the same time on the
call stack. This again can easily leave objects in an inconsistent
state if they receive callbacks from subsequent events while being
occupied processing the first.

This is also what happens in the listed report. A QMenu shows
a sub menu when the mouse enters a menu item. The show leads to
QPA flushing events, which in some cases also includes flushing
another pending move event. The move event is delivered to the
same QMenu, which will clear a private variable (currentAction).
When the show returns, the state of QMenu has unexpectedly
changed, which causes a crash to happen since currentAction is
null.

This patch will fix the root cause of the problem by
stopping QCocoaWindow from flushing user input events when
the call location does a flush to deliver geometry events.

Task-number: QTBUG-66093
Change-Id: Id277550b0a080ad98c81e8c30dc7098dc73723d5
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2018-02-07 16:12:53 +00:00
Liang Qi
3061730c2a Merge remote-tracking branch 'origin/5.9' into 5.10
Conflicts:
	src/plugins/platforms/cocoa/qcocoamenu.mm

Change-Id: I11c5f8466c5b51e13e5ef6a8fc6e3f2dd79122a7
2018-02-07 14:45:46 +01:00
Andy Shaw
3d35501591 Update bundled sqlite to 3.22.0
[ChangeLog][Third-Party Code] Sqlite was updated to version 3.22.0

Change-Id: I341c1cabfdd43fac45406c00c33c193ef4bcf402
Reviewed-by: Jesus Fernandez <Jesus.Fernandez@qt.io>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2018-02-07 12:23:18 +00:00
Tor Arne Vestbø
ce8e72d040 Android: Defer initialization of logging rules until qApp construction
On Android, we load the application library, and its dependencies (Qt),
on Android's main thread (thread 0), and then spin up a secondary
thread (thread 1), that we call main() on.

If any QObject is constructed during loading of the application library
or any of Qt's libraries, via static initializers or constructor
functions, we will set QCoreApplicationPrivate::theMainThread to
thread 0, which will confuse Qt later on when it's being run on
thread 1, and will result in a warning during QCoreApplication
construction:

 QApplication was not created in the main() thread

This situation can easily lead to a crash as well.

Unfortunately logging via qDebug/qCDebug and friends will trigger
this too, as they internally use QObject.

Fixing the root cause of this is under investigation, but for now
we will partially revert fa2a653b3b for Android. The effect
is that any qCDebug with a "qt.*" category before qApp construction
will turn into a no-op, like it was before fa2a653b3b.

This patch does not cover the case of a regular qDebug, or a qCDebug
with a non-Qt category. Those will still produce the same symptom,
as before fa2a653b3b.

Task-number: QTBUG-65863
Change-Id: I95675731d233244530d0a2a1c82a9578d5599775
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
(cherry picked from commit 538b1b5076)
2018-02-07 11:19:44 +00:00