Commit Graph

34153 Commits

Author SHA1 Message Date
Nico Vertriest
8d75c6765d Doc: Complete Simple Anchor Layout Example
Task-number: QTBUG-60635
Change-Id: I1351df7c514c57ed04ff6e640d7338d62c8f91ac
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
2017-11-30 14:15:08 +00:00
Edward Welbourne
37c9d6deca Condition QDateTimeParser's time-zone parsing on QT_CONFIG(timezone)
It was missing some #if-ery it needed.

Change-Id: Ibc12f4a9ee35acb64a39a1c7a15d2934b5710dc0
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2017-11-30 10:22:30 +00:00
Nico Vertriest
d0812cbdab Doc: modify connect statement to new syntax
Task-number: QTBUG-60635
Change-Id: I776bdc49ae42e2d0c11dc33d58d9ce91b9f5e753
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2017-11-29 14:09:31 +00:00
Nico Vertriest
1fe6a75fec Doc: Minor corrections custom sort filter example
Task-number: QTBUG-60635
Change-Id: I17a69f85663eaa92e92b4e97385c21a729405e1f
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
2017-11-29 14:09:18 +00:00
Andy Shaw
a17f892bc5 Correct \since value for QIODevice::skip
Change-Id: I9a2f18263a8bc0a0de8978792dbb1f285acc0ccd
Reviewed-by: Alex Trotsenko <alex1973tr@gmail.com>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2017-11-29 08:44:13 +00:00
Tor Arne Vestbø
e434add2de iOS: Don't set background color when debugging window management
It will fill the view in some cases, obscuring what Qt draws.

Change-Id: I9ca00dddd829a28fb2cb3b009bfd3223f85ef7cb
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
2017-11-29 00:27:12 +00:00
Tor Arne Vestbø
10b5954e22 iOS: Use environment variables for debug flags instead of QObject properties
The former is more idiomatic in Qt, and doesn't require
as much boilerplate to set up.

Change-Id: Idf03af4018611c8eb3b31af90da72f9d85617b2c
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
2017-11-28 23:10:57 +00:00
Liang Qi
1139be7b30 Merge remote-tracking branch 'origin/5.9' into 5.10
Change-Id: Iede384644c3df5ee01b701806dfdb586dd6bb138
2017-11-28 11:23:35 +01:00
Thiago Macieira
5f66f87181 Stop depending on test.macieira.org
We have had test.qt-project.org for close to 3 years now.

Change-Id: I71488efd29b645f7b228fffd14fadf4627288243
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
2017-11-27 21:48:20 +00:00
Thiago Macieira
6a9d076e87 QUdpSocket: Work around WSARecvMsg quirk relating to no control block
WSARecvMsg does not return the sender in WSAMSG::name if WSAMSG::Control
isn't set. This makes no sense, so I'm assuming it's an API quirk we
need to work around.

[ChangeLog][QtNetwork][QUdpSocket] Fixed a regression from Qt 5.9.3
caused by an apparent Win32 API quirk we triggered when using
readDatagram(), resulting in an invalid QHostAddress sender address.
receiveDatagram() was not affected.

Task-number: QTBUG-64718
Change-Id: I71488efd29b645f7b228fffd14f9d84cc205c4b3
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2017-11-25 20:50:55 +00:00
Tor Arne Vestbø
fa2a653b3b Initialize QLoggingRegistry rules on first use
Allows categorized logging before QCoreApplication has been created,
which otherwise would silently fail to output anything because the
category would never be enabled, despite QT_LOGGING_RULES being set.

Change-Id: I1861e5366ea980dff2ffa753b137276c77278eee
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2017-11-25 10:01:35 +00:00
Thiago Macieira
ea18eec931 Merge "Merge remote-tracking branch 'origin/5.9.3' into 5.9" into refs/staging/5.9 2017-11-25 08:52:40 +00:00
Giuseppe D'Angelo
3587a25238 QFlags: support enum classes in setFlag()
Unary ~ is not defined for enum classes, so we need a cast.

Change-Id: I79d495ebcc24ab960da8dae3be08eb307a9de448
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2017-11-24 18:23:34 +00:00
Timur Pocheptsov
655cbb00a0 Handle HostNotFoundError correctly for HTTP/2
When processing host lookup error if-statement only checks the connection
type SPDY, which is not right - it could also be HTTP/2. As a bonus:
QT_NO_SSL conditional inclusion is not needed - HTTP2 can be 'clear text'
and SPDY enumerator is defined even in no-tls build (and is just a
noop here). Also, improve our somewhat cryptic message in 'Should not happen'
else branch - 'cannot dequeu' says nothing about HostNotFoundError.

Task-number: QTBUG-64721
Change-Id: Ib0346b8717c2dbddaffab690298f3cae01e338ea
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2017-11-24 18:09:47 +00:00
BogDan Vatra
6615f1d16b [android] Fix compile with -warnings-are-errors
Remove unused variable

Change-Id: I64da66da0c17131de6280660576f2789696e86b3
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
2017-11-24 12:05:16 +00:00
Shawn Rutledge
cfccd44b9d Demonstrate the new AA_CompressTabletEvents in the tablet example
Change-Id: I1972da2ead51274771ff24b4c506c2b581ee6abe
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
2017-11-24 11:50:01 +00:00
Shawn Rutledge
b19036ad56 improve QLocale::formattedDataSize docs slightly
Change-Id: I42aaec6d54299d906bf8e2ef1fd696f121b7c2d0
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2017-11-24 11:49:47 +00:00
Liang Qi
fbca13949a Merge "Merge remote-tracking branch 'origin/5.9' into 5.10" into refs/staging/5.10 2017-11-24 06:42:34 +00:00
Mårten Nordheim
5a235da270 tst_QTcpSocket: fix disconnectWhileLookingUp
... and unblacklist it on Windows.

From what I can tell there is no particular reason why this test fails
other than that it is a little too slow sometimes (these things happen).

So, to fix the test I bumped the timeout, but to avoid the test running
for longer on every test-run it now also ends when the socket enters
the "Unconnected" state.

Previously it failed 171/500 times, and after this patch it failed
0/1000 times.

Change-Id: I4266bff6b91aaaf502ee66265d01c3a177706402
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Jesus Fernandez <Jesus.Fernandez@qt.io>
2017-11-24 04:54:58 +00:00
Liang Qi
7c4b0aa970 Merge remote-tracking branch 'origin/5.9' into 5.10
Conflicts:
	src/corelib/io/qstandardpaths_win.cpp
	src/plugins/platforms/ios/qioswindow.mm
	src/plugins/platforms/ios/quiview.mm
	tests/auto/widgets/itemviews/qtreeview/tst_qtreeview.cpp

Change-Id: I5deb0a0176a454a9c566e924d074ba60ce04f0bc
2017-11-23 12:52:18 +01:00
Liang Qi
19378fa008 Merge remote-tracking branch 'origin/5.9.3' into 5.9
Change-Id: I9add7e07ff1b6a1cf52f59dbb8319f30e114e5fc
2017-11-23 09:47:49 +01:00
Jake Petroules
dfa172034e gitignore: don't ignore Info.plist templates for libraries
Change-Id: Ifa17c9b1d1b5572d8256e2729a1cb2a749f58635
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2017-11-23 07:07:48 +00:00
Peter Wu
110e49c9ce QTimeZonePrivate: prefer /etc/localtime over /etc/timezone
On modern distros (e.g. those using systemd), /etc/localtime is always a
symlink. As that file is actually used by libraries (see tzset(3)),
prefer it over /etc/timezone (which is no longer needed since
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=803144).

This fixes a wrongly reported local timezone when a stale /etc/timezone
file exists. While at it, improve sanity check for localtime symlink.

Change-Id: I8557a58acf21afaeca0d585066304c79a92b5ddb
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2017-11-22 23:34:58 +00:00
Tor Arne Vestbø
eade2255ea Windows: Resolve QStandardPaths config location without qApp instance
Calling QCoreApplication::applicationDirPath() requires an app instance,
but on Windows the implementation just relies on qAppFileName(), which
does not require any instance. As resolving the standard paths could
be needed before QCoreApplication instantiation, e.g. for categorized
logging, we use qAppFileName() directly.

Change-Id: Id882cebd528bcb8e945e73a83f1dc3d599b74d1d
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
2017-11-22 21:27:45 +00:00
Tor Arne Vestbø
fb2e795c6e iOS: Take UIWindow bounds into account when making window fullscreen
When an app is in split-view mode, the app can't use the full bounds of
the screen, but should limit its area to that of its UIWindow.

Task-number: QTBUG-48225
Change-Id: Ia66ad6bba24d9d73a8263ad3f65b9dee9b8a1b37
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2017-11-22 21:27:43 +00:00
Stephen Kelly
a6d7f38791 QHeaderView: Simplify and fix layoutChange handling
A layoutChange indicates that anything can have moved to anywhere else,
including as a result purely of new items being added. It can also
indicate that items are removed.

The old code here incorrectly assumed that the section count remained
constant over this operation by setting the size of the oldSectionHidden
QBitArray - whose size is the size before the layoutChange operation -
and then calling setBit with model rows numbered after the layoutChange
operation.  As the two are not necessarily the same dimensions, this can
result in asserts from the setBit call.

Simplify the handling of layoutChanged entirely by clearing section
information, and using the QPersistentIndexes which indicate hidden
state to restore that state after re-population.

Task-number: QTBUG-53221
Change-Id: I3cda13e86b51b3029b37b647a48748fb604db252
Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
2017-11-22 21:24:56 +00:00
Christian Ehrlicher
45a5f28aa4 QTreeView/Fusion style : Draw child indicator correct in RTL-mode
Fusion style did not honor direction option when drawing the child
indicator. This lead to a wrong rendering of QTreeView in right-to-left
mode.

Task-number: QTBUG-63396
Change-Id: I2d5de03d7c831e3caabcc9269617eecb9338f163
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2017-11-22 21:24:49 +00:00
Thiago Macieira
d813c66bfc Fix the build when AVX2 is enabled but __F16C__ isn't defined
If -mavx2 is used, __AVX2__ is defined, which enables the F16C code
after commit 280e321e52, but that was
wrong since we aren't allowed to use the F16C intrinsics with either
Clang or GCC (we can only do that with GCC 4.9 and Clang 4.8, and only
with an __attribute__ decoration).

With ICC and MSVC, we are allowed to use the intrinsics, but the
#include was missing.

[ChangeLog][QtCore] Fixed a compilation issue with qfloat16 if AVX2
support is enabled in the compiler. Since all processors that support
AVX2 also support F16C, for GCC and Clang it is recommended to either
add -mf16c to your build or to use the corresponding -march= switch.

Task-number: QTBUG-64529
Change-Id: I84e363d735b443cb9beefffd14b8ac1fd4baa978
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2017-11-22 17:58:21 +00:00
Kevin Funk
b71b7461b0 CMake: Set SKIP_AUTOMOC/AUTOUIC where needed
Make sure we don't run into warnings for CMake 3.10

Task-number: QTBUG-63442
Change-Id: Ida004705646f0c32fb4bf6006036d80b1f279fd7
Reviewed-by: David Faure <david.faure@kdab.com>
Reviewed-by: Sebastian Holtermann <sebholt@xwmw.org>
Reviewed-by: Rolf Eike Beer <eb@emlix.com>
2017-11-22 13:51:30 +00:00
Mårten Nordheim
c3a5c482ef Fix tst_QSslSocket::waitForConnectedEncryptedReadyRead
... and unblacklist it.

It was blacklisted some years ago because it was failing too often.
It was failing because the ssl socket had already received and decrypted
all the data it was going to get, meaning the waitForReadyRead call was
just going to block forever.

Change-Id: Ia540735177d4e1be8696f2d752f1d7813faecfe5
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2017-11-22 13:50:09 +00:00
Andy Shaw
53f48fceee Start from the first visible item when doing a search
Since the first item in a treeview might be hidden, start from the
first visible item in the view when starting or wrapping round
during a keyboard search.

Task-number: QTBUG-63869
Change-Id: I202bea567c6d4484c3ffaf8a5f9af8ea2e13708d
Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
2017-11-22 13:49:52 +00:00
Filipe Azevedo
048c380629 Code cleanup in QNAM
The private class already store a QNetworkConfigurationManager
 and networkSessionRequired so it's not need to compute them again
nor to instantiate temporary classes.

Change-Id: I1bbd9439afa70c950ed6ec3e4fc63ddae4a5b259
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2017-11-22 13:48:43 +00:00
Timur Pocheptsov
0f3c9782e6 tst_QNetworkReply::ioHttpRedirectErrors - fix a flaky test
This test became a real pain recently. A close look at the test shows
several problems (strangely enough, the failure can never be
reproduced on real machines, only on VM - Ubuntu and RHEL 6.6).
There are several asserts that are firing from time to time here and
there. They show that the logic in test is broken/incorrect. QNAM can
open several connections to a host, our test then incorrectly resets
its 'client' data-member and bad things can later happen after
'bytesWrittenSlot' executed (and deleted a socket). For example,
I can reproduce this scenario in every second run:

1. incoming connection -> client = socket(descriptor), connect to
   client's readyRead (s1)
2. incoming connection -> client = socket(descriptor), connect to
   client's readyRead (s2)
QNAM sends a request on s1. We reply on s2 (which is already wrong)
and call client->deleteLater(), which resets client to nullptr.
If QNAM sends something else on s1, we hit assert(!client.isNull()).

To avoid this, whenever 'sender' in any slot is different from the
'client', we use the actual 'sender' to reply. Another problem is this
weird and rather cryptic waitForFinish which is not needed in this
particular test since we wait for reply error, not 'finished'.

As it happened before - it's not clear if these two problems
were the cause of guaranteed fails on CI - an integration failed
~10 times in a row in the same test (not happening anymore though).

Task-number: QTBUG-64569
Change-Id: Id9aa091290350c61fadf1c3c001e7c2e1b5ac8f4
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2017-11-22 13:47:30 +00:00
Morten Johan Sørvig
bdf1045b71 Cocoa: Update layer contentsScale on screen change
Failure to do so will result in displaying the layer
contents on a quarter of the window when moving the
window from a 2x screen to a 1x screen.

Task-number: QTBUG-64494
Change-Id: I57ce98025e841549f62d132d4985e727898e6207
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2017-11-22 08:45:55 +00:00
Thiago Macieira
1ea0b47c2e QImage: Add the replacement function to byteCount's deprecation msg
Change-Id: I938b024e38bf4aac9154fffd14f903e22b364c0d
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2017-11-22 06:18:19 +00:00
Tor Arne Vestbø
7ce71f0091 Disable -optimize-debug for Clang
It results in Xcode outputting a warning when debugging:

  [app name] was compiled with optimization - stepping may behave oddly;
  variables may not be available.

And the warning is correct, debugging is broken in this situation.

Likely caused by Clang treating -Og as -O1:

  https://reviews.llvm.org/D24998

Change-Id: I25d6bf1e65c81cc5be92b9847f7d5dd6754a0177
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2017-11-22 03:18:37 +00:00
Tor Arne Vestbø
f92aa8e931 iOS: Add logging of window geometry/exposure
Change-Id: I6ffc7cd1dde4fadd3e952deabe9c3a1dbce7884d
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2017-11-21 23:16:46 +00:00
Tor Arne Vestbø
d8288d2b65 iOS: Make sure FBOs are cleaned up in the right QIOSContext
655687d84d shuffled things around, moving the logic to connect
to the window's destroyed signal from backingFramebufferObjectFor into
makeCurrent. Unfortunately backingFramebufferObjectFor was the one taking
care of recursing into the root context (when shared contexts were in
play), so the end result was that the root context were keeping track
of the FBO, but the leaf context was trying to clean up the FBO.

Task-number: QTBUG-56653
Change-Id: I80ed71a3dedeb7611b2aa7548d94b9fbe0e20763
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2017-11-21 23:16:44 +00:00
Tor Arne Vestbø
d3e9b8c728 iOS: Remove forced Qt::AA_ShareOpenGLContexts
Commit 8e70241dcc removed the need for having a global sharecontext
to be able to composit GL and raster content in the backingstore, but
forgot to remove this part of the iOS platform.

Change-Id: I46ffd766729369aff2f8c54799bd033905c9f3dc
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2017-11-21 17:13:46 +00:00
Tor Arne Vestbø
68733e307f qpa: Teach handleApplicationStateChanged about sync/async delivery
Using QWindowSystemInterface::SynchronousDelivery reduces the chance
that we are flushing other events before delivering the application
state change. Those other events may conclude that the application
is still active, while in reality it is not, and do bad things.

Change-Id: I738c162fac22d2cd18de1e080bcd2cda78ec3f77
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2017-11-20 23:31:46 +00:00
Gabriel de Dietrich
53f7c20cb5 Generic Unix Theme: Don't crash if D-Bus is not running
Change-Id: I215ef25fe943730ba8b1976695a04a4aa86638f1
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Reviewed-by: Dmitry Shachnev <mitya57@gmail.com>
2017-11-20 22:22:18 +00:00
Nico Vertriest
64298b42a3 Doc: drop Application Chooser Example
There are plenty of other examples showing how to use QStateMachine

Task-number: QTBUG-60635
Change-Id: I82300b2a0f4e7733f08579a2aa9b548cb7d87efa
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2017-11-20 09:32:38 +00:00
Nico Vertriest
b00feb8cfc Doc: Add screenshot to Validators example
Task-number: QTBUG-60635
Change-Id: Ie68e611b57900847a00587fdf8558be4be38f23d
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
2017-11-20 09:32:31 +00:00
Nico Vertriest
6e7cf8b918 Doc: update screenshots in Addressbook Example doc
Task-number: QTBUG-60635
Change-Id: I5b098120f0e47687ac90d7f05b91a2a60f1eab32
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
2017-11-20 09:32:20 +00:00
Nico Vertriest
f39f813113 Doc: drop Lighting Effect Example
Task-number: QTBUG-60635
Change-Id: If455a778ff6ebd53d8110b3dc25d8b9e27255bac
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
Reviewed-by: Nico Vertriest <nico.vertriest@qt.io>
2017-11-20 09:31:55 +00:00
Nico Vertriest
0bdbefa3c0 Doc: add doc to Style Sheet example
Task-number: QTBUG-60635
Change-Id: I6c80427bce1efc67bbf4ec67b0afeafc27088d79
Reviewed-by: Martin Smith <martin.smith@qt.io>
2017-11-20 09:31:22 +00:00
Nico Vertriest
a78cae73b1 Doc: review Star Delegate Example
- update screenshot
- minor corrections description example

Task-number: QTBUG-60635
Change-Id: I2351160ee9ec0a926fddb122e720c887f851dba5
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
2017-11-20 09:30:58 +00:00
Thiago Macieira
8e387e7fa7 qsimd.cpp: Remove workaround for GCC 4.2
That's long fallen out of support in Qt.

Change-Id: I938b024e38bf4aac9154fffd14f7a603baa24e04
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2017-11-19 23:27:38 +00:00
Shawn Rutledge
a4113d0c64 qfloat16(float) constructor: explicit cast on aarch64 to avoid warning
The warning was

global/qfloat16.h: In constructor ‘qfloat16::qfloat16(float)’:
global/qfloat16.h:124:18: error: conversion to ‘__fp16’ from ‘float’ may alter its value [-Werror=float-conversion]
     __fp16 f16 = f;
                  ^
cc1plus: all warnings being treated as errors

The warning was added by fb59760381.

Change-Id: I489348c4d5d672bfa5d4db99c837696a2a69a27e
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2017-11-18 06:58:33 +00:00
Christian Ehrlicher
ba2f3a156e QTreeView: recalculate row heights in hide/showColumn()
When calling QTreeView::hideColumn() the row heights are not
recalculated. This can lead to rows which are unnecessarily high due to
hidden columns may contain large (e.g. multiline) content. The same
applies to showColumn() - there the row might be to small.
Hiding columns directly via QTreeView::header()->hideSection() is not
covered by this patch since QHeaderView has no way to inform about
newly shown/hidden sections.

Task-number: QTBUG-8376
Change-Id: I20b1198e56e403ab8cf649af76e5e2280821dd68
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2017-11-17 20:28:34 +00:00