Commit Graph

24402 Commits

Author SHA1 Message Date
Eirik Aavitsland
4e339a5ac1 Doc: QImageReader assumes exclusive control over its device
Make an explicit mention of the fact that modifying a device while it
is being held by a QImageReader is undefined.

Task-number: QTBUG-61121
Change-Id: Ie0a016255c2614c5b8b415c8cd9602169153c8f8
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
2017-10-25 09:19:29 +00:00
Frederik Gladhorn
7a26582807 Make sure that QAccessibleWindowContainer::childCount is valid
When embedding foreign windows, we won't be able to return a valid child
accessible interface, so do not report it at all.
Supporting foreign windows properly is platform specific and something
to consider, but at least we shouldn't crash.

Task-number: QTBUG-63451
Change-Id: I19350cf97dc8d0c3f3052411eba0eee5f750dbab
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
2017-10-25 09:19:24 +00:00
Friedemann Kleint
5eb508a317 Fix clazy-strict-iterators
Change-Id: I9276a85f0a8061b2636687cf694b8ed1abaa18b8
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2017-10-25 09:19:19 +00:00
Jan Arve Sæther
ecd183455b Refactor childIdListForAccessibleObject
It has several problems:

1. It could potentially create an intArray with uninitialized elements.
   This could happen because the index for getting interfaces were the
   same as the storage index.  This was not correct, because they could
   diverge if iface->child() returned an invalid interface.

2. The count of accessible child elements could change while iterating.
   This could cause out-of-bounds condition when calling
   SetIntArrayRegion as described in QTBUG-45855. Instead now, we call
   SetIntArrayRegion only once, after we have gathered all the child
   interface ids.

Task-number: QTBUG-45855
Change-Id: I77e813158df5f563d04931ac4e296e3fc2a16e67
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
2017-10-25 09:19:16 +00:00
Oliver Wolff
5ec02f7792 winrt: Fix compilation with -no-pch
Task-number: QTBUG-63210
Change-Id: Icdd4fcee67e3b386b86a131c302424b53b18e565
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
2017-10-25 09:19:12 +00:00
Maciej Czarnecki
3b8f828174 QWizard: Do not remove the Next button's shortcut
Currently on Windows, the Next button's shortcut doesn't work, because
QWizard overrides it with an empty key sequence.
The key sequence should be changed only if isVistaThemeEnabled() returns
true.

Task-number: QTBUG-46894
Change-Id: I54f26388b167973cc8065a867d9e771c1e6a2a72
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2017-10-24 16:43:52 +00:00
Olivier Goffart
abcf558e49 moc: Restore compatibility with Qt 5.7's -b option
In Qt 5.7, it was possible to call moc "-bfoo.h" or "-b foo.h" and it had the
same effect. With the port to QCommandLineOption, we broke the -b option as it
was not annotated as a short option.
(Regression in a7e3c17e75)

Task-number: QTBUG-63706
Change-Id: I161d0f1a4e65d129063b5e8431802257677da19d
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2017-10-24 16:43:47 +00:00
Gabriel de Dietrich
37a1478787 Cocoa QPA: Code clean up, make some bits more readable
Change-Id: I7f37c1b0f7f72a79bb2ac5828ba54111a90a0a00
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2017-10-24 16:43:43 +00:00
Liang Qi
4f9b2cb026 Remove duplicate qnx from the platform file selector names
Update the QFileSelector tests for QNX.

Co-authored-by: James McDonnell <jmcdonnell@blackberry.com>
Change-Id: I68a8fde86725596323b539433287ac1a18fac1eb
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2017-10-24 16:43:39 +00:00
Mårten Nordheim
18f0a45964 Fix redirecting all the other methods for HTTP 307 and 308
c4cf90b1f7 made POST requests be
redirected properly, but this wasn't enough and should have included
every method/verb.

Change-Id: I37b12dc9fdffcbf2aadbd2360d4fc2584c024939
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2017-10-24 16:43:35 +00:00
Yulong Bai
7e7683cabb QAction: fix ::setData() always emits changed()
QAction::setData() always emits changed() even without actual data change.
Original code lacks a guard to check if the data changes.
According to http://doc.qt.io/qt-4.8/signalsandslots.html,
adding guard also benefits to prevent infinite looping in case
of cyclic connections.

Task-number: QTBUG-62006
Change-Id: I776369b668082f9f02e4502a36b1ae234ee7e079
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2017-10-24 16:43:30 +00:00
Andy Shaw
7944423bfa Add clarifying documentation for QLayout::removeWidget()
Change-Id: I6c256c6c5cdfed6ceb45758d708fdc8f74d2939f
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2017-10-24 12:23:21 +00:00
Eirik Aavitsland
7c5475f1c0 Doc: add hint about QMimeDatabase to QImageReader::canRead()
Task-number: QTBUG-63568
Change-Id: I5b700138487dbebfc8cbe70eb3a076efceafb361
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
2017-10-24 12:23:15 +00:00
Błażej Szczygieł
8aadfbc657 xcb: Convert synthetic mouse enter event position to native pixels
Mouse position is converted from native pixels later, so we must
provide native pixels for "QWindowSystemInterface::handleEnterEvent".

Amends 7091be1b79

Task-number: QTBUG-63865
Change-Id: I813c171f2fc1d321af702ac30eb5f2e4232e97c4
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2017-10-20 08:06:03 +00:00
Friedemann Kleint
571b11d41c Windows QPA: Fix build with -no-feature-tabletevent
Guard #include by QT_CONFIG.

Task-number: QTBUG-63874
Change-Id: I33f4a4c4fbdae3d25874ee9cdc3f1c7e1ab783e3
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
2017-10-20 08:05:57 +00:00
Friedemann Kleint
dcc8aa8f4e Windows/Direct2D QPA: Fix build with -no-accessibility
Task-number: QTBUG-63876
Change-Id: Ib9216977dd495e05d032e679c2f23ffe6a6953a6
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
2017-10-20 08:00:56 +00:00
Oliver Wolff
c05268222c winrt: Fully initialize CREATEFILE2_EXTENDED_PARAMETERS struct
Not properly initializing all members of the extended parameter struct
will cause an "invalid handle specified" exception on use.

Task-number: QTBUG-63883
Change-Id: Ic3a58df864c9e29ccbadc04bd71c18c8ef34374c
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
2017-10-20 07:46:52 +00:00
Gabriel de Dietrich
c99d8532c8 QCocoaSystemTrayIcon: Remove unused classes
Both QNSMenu and QSystemTrayIconQMenu aren't referenced anywhere
else, including within qcocoasystemtrayicon.mm, since the QPA
backend was added.

Change-Id: I632c1b230226b2d08afce7f0f0019e9f7c030ba5
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2017-10-20 03:22:16 +00:00
Richard Moe Gustavsen
6c1a2224f3 iOS: add support for adding mimetypes other than text on the clipboard
A QVariant can only be converted to a QByteArray if it has user type
QMetaType::QByteArray or QMetaType::QString. The way it stood, we
always tried to convert the mime data to a QByteArray, and
then put the result into a QVariant. This would fail if the mime
data contained e.g a QPixmap.

This patch will inspect what kind of data the QMimeData contains, and
convert it to a QVariant using the expected API.

Backport of 6d3c483

Task-number: QTBUG-57428
Task-number: QTBUG-63660
Change-Id: I09b4a94aef7b52773e1a79c468ead71b36dfbfc5
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2017-10-19 13:30:09 +00:00
Mårten Nordheim
fc98878658 Fix cookie path matching for empty url path
The path wouldn't match if the cookie's path was root ('/') and the
URLs path was empty.

Change-Id: I6dcd10f1fdf4f48f14e50f1b169cbdfda7005849
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2017-10-19 12:51:38 +00:00
Gabriel de Dietrich
f13e75345d Cocoa QPA: Remove usage of OBJECTIVE_SOURCES
Change-Id: I5924ab0ddb442624f5aeeef023428be228348707
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
2017-10-19 10:06:17 +00:00
Robert Loehning
37afba28b1 QTableGenerator: Fix handling of illegal characters in fromBase8 again
Change-Id: Iaee19f71e5b74b0d43b628739039ca3c2be60cd0
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2017-10-19 09:15:15 +00:00
Friedemann Kleint
0521913676 QTabletEvent: Add doc note about Windows drivers
Recent drivers no longer contain wintab32.dll, point out a version
that still has it.

Change-Id: I4125a0af3c11ab739f8006b91f58899aeed54458
Reviewed-by: Andre de la Rocha <andre.rocha@qt.io>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2017-10-18 19:50:10 +00:00
Liang Qi
3fd641c314 network: add a QT_CONFIG(bearermanagement) guard
for QNetworkReplyHttpImplPrivate::startWaitForSession().

This amends 8a39384e90.

Task-number: QTBUG-63847
Change-Id: Ic20a4ac3ab97ed25010e0679810ef64c3ff42c05
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2017-10-18 09:36:35 +00:00
Mårten Nordheim
c4cf90b1f7 Fix redirecting POST for HTTP 307 and 308
All POST requests that were redirected would previously turn into GET
requests. This does not follow the standard for HTTP codes 307 and 308.

Task-number: QTBUG-63142
Change-Id: Ibd25a9566066e589670a9bc34e5dc5111f8139d5
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2017-10-17 18:50:14 +00:00
Mårten Nordheim
8a39384e90 Open a session during redirects when needed
In some cases when a session isn't needed (i.e. for localhost), the
session is not opened at all. If a program (e.g. our tests) redirects
from localhost to a different system (e.g. the qt network test
servers, or the internet) it will wait for a session forever. So, we
need to check if a session is needed for the redirect-target and then
open one. It is usually opened in
QNetworkReplyHttpImplPrivate::_q_startOperation

Change-Id: Id3b78182a3fb3f63f0235ecb1fb665df8bd0c4ca
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2017-10-17 14:22:22 +00:00
Timur Pocheptsov
db333d6dba QNAM (redirects) - clear 'raw' headers before sending the next request
We already cleared 'cookedHeaders', which is a QHash for 'known headers'
(enumerators as keys instead of strings), now do the same for 'rawHeaders'-
not to end up with some weird mix of headers from all possible redirect
responses and the final response.

Task-number: QTBUG-61300
Change-Id: Ifd6655c4167840bb00d29446d36ce65ba2d5491a
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2017-10-17 13:58:16 +00:00
Kai Koehne
574c8ec13c Doc: State that qDebug and friends are thread-safe
There's a common misconception that qDebug and friends are not
thread-safe, so let's explicitly state this.

Change-Id: I48d4ab8983017a9f2e7c9932a49ed573baa22929
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2017-10-17 13:57:45 +00:00
Frederik Gladhorn
8fcf171b42 Android Accessibility: protect from accessing invalid interfaces
I am not sure if this is going to help, but it is required that the
bridge checks that the interfaces it accesses are valid, since that
protects from accessing them when they are in the destructor.
This should be done, whether it fixes the issue or not.

Task-number: QTBUG-45855
Change-Id: I2b96999ca4043f8b33607c864d1d178695d03192
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
2017-10-17 13:49:47 +00:00
Friedemann Kleint
127483b5e3 Windows QPA: Fix reporting of TabletLeaveProximity events
Move the check for totalPacks below; it prevents leave notifications
from being handled.

Task-number: QTBUG-53628
Change-Id: I2436c51308803337e6d48ef958e03123283d4a1d
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2017-10-17 12:45:11 +00:00
Gabriel de Dietrich
198225983d QShortcut: Fall back to cross platform code in absence of QPA menu
On macOS, absence of a QPA menu means that we should be using our
own internal logic since there's no entity on the QCocoaMenuDelegate
to take care of the shortcuts.

Change-Id: I35ed8f0b55445f61d0528709d4debb636a502002
Task-number: QTBUG-61039
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2017-10-17 02:34:35 +00:00
Orgad Shaneh
49da5ce100 ANGLE: Fix compilation with MinGW
/X is transformed into X:. Pass arguments with dash instead.

Change-Id: Ib69ce73d9b8e54f4ea4b17fdb0ca43c85977717d
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2017-10-16 15:47:03 +00:00
Vyacheslav Koscheev
10da5fb55b Attach Qt main c++ thread to jvm at the early beginning
We need it
1. to be sure, that thread is already attached to jvm
when we attach debugger to the process
2. to have a human-friendly name for main native thread

Change-Id: I1e572a0f09ec8af24a910835aaa6d302f6f2cb43
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2017-10-16 11:04:54 +00:00
Friedemann Kleint
e00b295344 QSystemTrayIcon/Windows: Fix position of context menu with High DPI scaling
Apply scale factor of screen.

Task-number: QTBUG-63781
Change-Id: I1b5630edbdf6bb356955a7d70458a885af441953
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2017-10-16 10:27:58 +00:00
Jędrzej Nowacki
2d4fe257ca Remove some unused, local variables
Change-Id: I453162d2d396bb3427064d3b1593bb6c71376605
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2017-10-14 07:04:39 +00:00
Timur Pocheptsov
7809bba68f QHostAddress::setAddress - fix an overload taking SpecialAddress
It must detach, otherwise it overwrites all QHostAddresses that were
sharing a given QHostAddressPrivate. This overload was introduced in
5.8 and probably as a result broke some pre-existing code, that previously
was using a conversion and the correctly working setAddress.
Conveniently, QHostAddress::clear() does: d.detach(); d->clear();,
exactly the first thing we do in other overloads of setAddress.

Task-number: QTBUG-63764
Change-Id: I63c36e877c9358d3ff26ba1f2e4adf35b771f426
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2017-10-13 18:13:03 +00:00
David Faure
bc74273143 QPainter: fix invalid pen style when drawing misspelled words
This code asks the platform theme to resolve SpellCheckUnderline to an
actual pen style (wave, solid, dash, etc.) but if there's no theme,
or if the default implementation in QPlatformTheme is used, the value is
still SpellCheckUnderline, which then casted to a PenStyle below in
qpainter.cpp:
   pen.setStyle((Qt::PenStyle)(underlineStyle));

The value 7 is an invalid PenStyle, which leads to random behavior
when drawing the underline. Make it WaveUnderline if the platform theme
had no opinion on how to draw it.

Change-Id: I4f02f9b58f10582cee5aefce7a4d5cd300133140
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
2017-10-12 13:26:05 +00:00
Kai Koehne
f6cca6ab8a Replace 'an unique' with 'a unique'
Unique begins with a "y" sound, hence a unique is correct.

Change-Id: I9eb6b4d4c9ddab45af931e97c041c24edf163eca
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
2017-10-11 18:44:57 +00:00
Gabriel de Dietrich
8ac9addd94 QCocoaWindow: Toggle titlebar transparency to support unified toolbar
This is need from macOS 10.13 onwards. See NSWindow related notes on

https://developer.apple.com/library/content/releasenotes/AppKit/RN-AppKit/

Change-Id: I4b4653d7342de985d22b128d73940e7163bdb1e8
Task-number: QTBUG-63444
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
2017-10-11 17:06:41 +00:00
Andy Shaw
e6fe342abb Fix CVE-2017-10989 in sqlite
Change-Id: I556a453f386e887abee77a4dc147eae45970a61c
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2017-10-11 06:22:59 +00:00
Allan Sandfeld Jensen
7f6f1d7e30 Revert "Do not include qfloat16 tables in arm64 builds"
They are needed for older compilers that doesn't support
 the __fp16 extension. Reverts under the assumptions other
 compilers will optimize it away.

This reverts commit 6dc7e468df.

Task-number: QTBUG-63693
Change-Id: If780de001d8c12df0db12caaf62505f16e01b663
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2017-10-10 16:05:27 +00:00
Thorbjørn Lund Martsum
f1033567aa QDockWidget - improve resize
On high DPI (e.g Apple Retina) user resizes of
QDockWidgets (with custom titlebars) could fail.
There was a cursor position check in mouse
move event bailing out if the cursor pos was not within
the widget.

The problem was that we could be on the edge
(or maybe even cross it?). Furthermore there is (/was)
no similar check when setting the cursor
to be a resize cursor, so users will obviously expect
the resize to occur.

This solves a part of QTBUG-63526

[ChangeLog][QtWidgets][QDockWidget] Fixed an issue
in QDockWidgets where the widget would not resize
despite showing a resize cursor.

Task-number: QTBUG-63526
Change-Id: Ifa842a109071552506da3a82822d903dc252c8cd
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
2017-10-10 14:43:34 +00:00
Mårten Nordheim
a402b3a02e Add support for HTTP status 308 Permanent Redirect
308 Permanent Redirect was introduced after redirection support was
initially added to Qt.

[ChangeLog][QtNetwork][QNetworkAccessManager] Added support for HTTP status 308.

Task-number: QTBUG-63075
Change-Id: I1c6cda331d776237113ef8854de9abfe7e41ed3e
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2017-10-10 07:06:24 +00:00
Florian Bruhin
d20aa0d50d Fix typo in QKeyEvent docs
Change-Id: I926fc94ae039f03c507149a6d3fc66f4584201e2
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
2017-10-10 06:31:27 +00:00
Friedemann Kleint
a24597d93d Windows font database: Remove clamping of default font size
Partially revert a72513cab7.
The value is too small for Chinese fonts.

Task-number: QTBUG-63654
Change-Id: If020bfc3044258b7abfd9d463bc9b292a9cc0839
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2017-10-09 21:02:22 +00:00
Krzysztof Kawa
6dea9bfa10 Documentation: Add missing event type for non-client mouse events
Documentation is missing the specialized event type names in the
non-client mouse event enum description.

Task-number: QTBUG-55018
Change-Id: Ica35994e13fc9a637a52eeca361898f8669fdbd1
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2017-10-07 19:52:06 +00:00
Thiago Macieira
10f2b5aa66 QUdpSocket: make sure receiveDatagram() returns empty on error
If the datagram reception failed, we forgot to set the buffer back to
empty. The returned QNetworkDatagram did report isValid() == false, but
it was possible to get the .data() and check its size, getting nonsense.

Tests in the next commit.

Change-Id: I638cf58bfa7b4e5fb386fffd14ea91adf2133d47
Reviewed-by: Jesus Fernandez <Jesus.Fernandez@qt.io>
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2017-10-07 19:29:16 +00:00
Jake Petroules
e470348d87 Fix deprecated API usage
Amends c1cece8e54

For some reason, this was missed in the original change. This is now
outright prohibited in the watchOS 4 SDK and will cause a compilation
error on that platform.

Change-Id: Iaa2edf6256a54ca11dec9f1efd8a4d18ba7dc046
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2017-10-07 16:52:10 +00:00
Liang Qi
906ce1c52b Merge remote-tracking branch 'origin/5.9.2' into 5.9
Change-Id: Iaae1d9efe6b9267e8e8349905811525ff344e00c
2017-10-06 19:27:40 +02:00
Allan Sandfeld Jensen
c071413ecc Fix zero-length lines with scaling
We should calculate the pen width based on the scaling similar to how
it is done for normal lines, otherwise we get the scaling applied
twice.

Task-number: QTBUG-61777
Change-Id: Iba71d55971a1d29537d2c9ff33749223a06160de
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
2017-10-06 12:05:31 +00:00