Commit Graph

28033 Commits (e5bee377620de0ca0d80acdd396bbd5804bc2e61)

Author SHA1 Message Date
Christian Ehrlicher f46c9f67ba SQLite: enable json1 extension
This patch enabled json1 support for sqlite3 by defining
SQLITE_ENABLE_JSON1

[ChangeLog][QtSql][SQLite] Enable the json1-extension for
the SQLite3 plugin

Task-number: QTBUG-63498
Change-Id: Iaf1069ff1396c573125a5a3f490c0df5df560468
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
2018-10-03 19:36:26 +00:00
Christian Ehrlicher d37d8e962a QAccessibleTable(Header)Cell: fix isValid()
QAccessibleTable(Header)Cell::isValid() did not check if the view is
still valid as it is done in QAccessibleTable::isValid() which can lead
to a crash during destruction when e.g. operator<<(QAccessibleInterface)
is called.

Change-Id: I930bf4c22aa0aa6868f58a8e5d0dd1557f6b17af
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
2018-10-03 18:00:29 +00:00
Jędrzej Nowacki 31f3facac3 Implement QDataStream operator for QCborSimpleValue
That allows us to remove custom handling in QMetaType.

Change-Id: Ic09fb96e1a05c6897803811d70aebbc6ea6e4f2e
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2018-10-03 14:49:27 +00:00
Jędrzej Nowacki e74cb37159 Implement QDataStream operator for main CBOR classes
Change-Id: Ib3b68b1963625432c68d02be3bf2ec3c4baf1104
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2018-10-03 14:49:22 +00:00
Jędrzej Nowacki 0e84e3866c Implement QJsonValue data stream operator
Change-Id: I9cff40828ab68b4e2474da506b2da2cfed479f2c
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Luca Beldi <v.ronin@yahoo.it>
2018-10-03 14:49:17 +00:00
Jędrzej Nowacki 4981c2c8b5 Implement QJsonObject data stream operator
Change-Id: I8528f18ad72828cd97a5ac00e1925958acf73f9f
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2018-10-03 14:49:12 +00:00
Jędrzej Nowacki ff03383017 Implement QJsonArray data stream operator
Change-Id: Ib3c83c06605f0fe39108855bc3416bf453cab043
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2018-10-03 14:49:06 +00:00
Jędrzej Nowacki 1d0b5d26ec Handle errors when streaming QJsonDocument through QDataStream
Change-Id: I96df896d446e89dc4f9733a6cc6cec61a6826a1f
Reviewed-by: Luca Beldi <v.ronin@yahoo.it>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2018-10-03 14:49:01 +00:00
Jędrzej Nowacki 811c2567b6 Finish qmetatype migration to type switcher
The matatype should not keep manually maintained list of stream
operators. The patch adds automatic detection for all builtin types
so load and save functions pick the right delegate automatically.

This change exposed some existing anomalies:
 - char is enforced to be signed while it seems that just calling
 the operator directly does not have that feature.
 - [unsigned] long type is always upgraded to [unsigned] long long
 - QCborSimpleType doesn't have the data stream operators while
 metatype is able to stream it through casting

Change-Id: I51178d6acd97d0585a6089e30ddd6acb2a29af54
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2018-10-03 14:48:55 +00:00
Jędrzej Nowacki cc24fc0406 Implement QJsonDocument data stream operators
Task-number: QTBUG-48313
Change-Id: I25ebeed94c9340819e925a7740bbee21de73a0ca
Reviewed-by: Luca Beldi <v.ronin@yahoo.it>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2018-10-03 14:48:47 +00:00
Tor Arne Vestbø 01ade488dd macOS: Don't call [NSOpenGLContext update] for every frame
Calling update has a cost, and should only be done when the drawable
object changes size or location. Instead of calling update each time
makeCurrent is called, we listen for the appropriate notifications,
limiting the number of update calls significantly.

We still call update on the thread owning the QOpenGLContext, which
is not ideal, as [NSOpenGLContext update] should only be called on
the main thread, but in practice this works. Getting out of this
situation is tricky, and setView has in theory the same problems.
Until those problems have been solved we keep the behavior as is.

Task-number: QTBUG-63572
Change-Id: Ibac9f8be7843f2aa006af6f7ee670bf027122440
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2018-10-03 13:04:41 +00:00
Tor Arne Vestbø 9c839f95a2 macOS: Ensure QFontDialog picks up changes in NSFontPanel
When the font changes in NSFontPanel, it notifies NSFontManager via
-[NSFontManager modifyFontViaPanel:], which in turn sends the font
manager's action (by default changeFont:) to its target (nil, unless set).

Sending the action in -[NSApplication(NSResponder) sendAction:to:from:]
will sanitize the 'to' argument via _NSTargetForSendAction.

If the argument is non-nill (if we've set the NSFontManager target
explicitly), and we're running in an app-modal session (which we are),
the target is checked for worksWhenModal -- a property which is defined
on NSWindow, and only supposed to be set for subclasses of NSPanel.

Since our QNSFontPanelDelegate class doesn't implement this method, the
_NSTargetForSendAction function will return nil, and the action is never
sent.

If we don't set the NSFontManager target (leaving it as nil), the function
will skip the worksWhenModal check, and fall back to resolving the target
via the responder chain, which includes taking the NSPanel's delegate
into account:

  #0 -[NSWindow delegate] ()
  #1 -[NSWindow(NSEventRouting) supplementalTargetForAction:sender:] ()
  #2 _objectFromResponderChainWhichRespondsToAction ()
  #3 _NSTargetForSendAction ()
  #4 -[NSApplication(NSResponder) sendAction:to:from:] ()
  #5 -[NSFontManager sendAction] ()
  ...

Since we want to end up in the QNSFontPanelDelegate, we can rely on the
default logic to resolve the target based on the responder chain. But in
case _NSTargetForSendAction will at some point also check the resolved
target for worksWhenModal, we also implement the worksWhenModal method,
to be on the safe side.

Fixes: QTBUG-69878
Change-Id: Ie739d016fe0efd17b3d8a99cc1fb1ace81807aff
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2018-10-03 13:03:54 +00:00
Allan Sandfeld Jensen 114c4593b6 Restore styling of QDockWidget title font
Do not override a custom font with the style default.

Task-number: QTBUG-70276
Change-Id: I58bf43f791aee5409e29459d579725365703e4f3
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2018-10-03 13:01:12 +00:00
David Faure ddeec1b07e QSFPM: don't let setFilterRegExp(QString) overwrite CaseSensitivity
This is a regression from commit 346c15102b, which creates a new QRegExp
in setFilterRegExp, losing previously set case sensitivity property
(i.e. when the code does proxy->setFilterCaseSensitivity(Qt::CaseInsensitive)
before setFilterRegExp).
Interestingly that commit ensured that setFilterFixedString would still
preserve CaseSensitivity, but not setFilterRegExp(QString).

Change-Id: I3d37d001ce6e86dd90e7e07431440a42607172f9
Reviewed-by: Samuel Gaist <samuel.gaist@idiap.ch>
Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de>
Reviewed-by: Luca Beldi <v.ronin@yahoo.it>
2018-10-03 11:45:50 +00:00
Christian Ehrlicher 5f9a0d64b3 QtSql: fix code snippets
The code snippets retrieving the native database driver handles was
using qstrcmp() wrong since that is returning 0 when the strings are
equal. In some snippets there was even a plain char * comparison which
would not work at all.
Fix all the places by correctly using qstrcmp() and replace the checks
for the valid pointer by not checking for 0.

Fixes: QTBUG-70598
Change-Id: I5c53dcfc51c958203fc60fa6a23dd6b27faa1d96
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
2018-10-03 10:48:50 +00:00
Luca Beldi 98ec8bed19 Minor performance improvement to QLabel with Image
QPixmap::fromImage in QLabel paintEvent should use the rvalue
reference overload for efficiency

[ChangeLog][QtWidgets][QLabel] Minor performance improvement
when painting a label with an image

Change-Id: I8ab9bf427c1efc320907c66538e9f8e4011f5586
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2018-10-03 09:34:19 +00:00
Friedemann Kleint 91d43a48f7 Prevent instantiation of QGestureManager in ~QWidget, ~QGraphicsItem()
Debugging PYSIDE-815 revealed that QGestureManager is instantiated in
the application destruction sequence. To prevent that, add a "force"
parameter defaulting to true to QGestureManager::instance() and pass
false in the destructors and QGestureManager::gesturePending().

Change-Id: I1b76173c926c2a156252b88832b032508d8e8a73
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2018-10-03 09:13:56 +00:00
Andre de la Rocha 4840668994 Windows QPA: Fix multiple mouse button presses detection
The detection of multiple mouse button presses was broken in the new
WM_POINTER-based implementation. The bug was due to the incorrect
assumption that the press/release of a second mouse button (while
another one is held) would also send WM_POINTERDOWN/WM_POINTERUP, while
in fact it sends a WM_POINTERUPDATE with the actual event type given
by pointerInfo->ButtonChangeType.

Task-number: QTBUG-70787
Change-Id: Ib6776ab7f3d0b8eb5e832a0c863a15bde456e0dd
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2018-10-02 23:42:29 +00:00
James McDonnell 155ae07b70 Add support for showWithoutActivating windows
Includes pop-up windows which are implicitly showWithoutActivating
windows.  The QNX platform code was allowing screen to activate
these windows when they were shown.

Add code to activate showWithoutActivating windows when they are
first touched or clicked on.  From there, screen handles activation
as it does for any other window.

Change-Id: If443676e497a97724e16037b34d3db1d7c335790
Reviewed-by: Dan Cape <dcape@qnx.com>
Reviewed-by: Janne Koskinen <janne.p.koskinen@qt.io>
Reviewed-by: Rafael Roquetto <rafael@roquetto.com>
2018-10-02 23:28:28 +00:00
Alexander Volkov eafca2229b Allow to prevent blocking of native dialogs by a proxy Qt dialog
When native dialogs become visible, their invisible proxy Qt dialog
blocks input to Qt windows. It is intended for native dialogs which
can't block Qt windows themselves, e.g. on Android. But this behavior
is incompatible with native dialogs which are implemented as in-process
Qt windows, because the proxy dialog blocks them as well.

This change introduces QPlatformDialogHelper::DialogIsQtWindow
style which allows to detect such cases and prevent blocking.

Change-Id: I8f1f741e05d09f2c27192890bcec35fdd2e8f074
Task-number: QTBUG-58116
Reviewed-by: Alberto Mardegan <mardy@users.sourceforge.net>
Reviewed-by: David Faure <david.faure@kdab.com>
2018-10-02 19:50:55 +00:00
Friedemann Kleint 18ec0a8b09 Windows QPA: Fix WM_NCHITTEST not being sent to QAbstractNativeEventFilter
The message is not sent to the QAbstractEventDispatcher, so it needs to be
excluded from the list of input messages not sent to
QAbstractNativeEventFilter.
Amends a0a22037cd.

Fixes: QTBUG-70873
Change-Id: Id84d73b46e8954867c06a4ddf5dc9e536ecd897e
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
2018-10-02 17:05:36 +00:00
Andy Shaw d8817ddde6 Use update() instead of repaint() when displaying a new message
There is no advantage to using repaint() here, so using update will
give a performance improvement.

Change-Id: Icc6a28dfc12dffb8ea3df0300fd14c66c775bf16
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2018-10-02 15:33:46 +00:00
Edward Welbourne ced34cb3d5 QDateTimeParser: avoid using an invalid hour by default
When a time-zone does a spring-forward, skipping an hour (either to
start DST or to move its standard time), there's an hour that doesn't
exist on the day in question.  That hour can be the first hour of the
day, in which case using 0:0 as the default time is broken.  So catch
this case and use the first time that day that makes sense.

Fixes: QTBUG-70823
Change-Id: I23dae9320a3cdd2c988841a7db1b111edb945730
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2018-10-02 13:49:45 +00:00
Edward Welbourne 5a295a1009 Scale seconds by a thousand to get milliseconds
QTimeZonePrivate::dataForLocalTime()'s handling of times in a
spring-forward gap added offsets in seconds to values in milliseconds.
Supply the missing factor of a thousand.

Change-Id: Ic32d87675f902e1c7fd85025fb70c8272a4f2db2
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2018-10-02 13:49:31 +00:00
Kai Koehne c958fb8b48 zlib: Fix spelling of license
Follow spelling convention at https://spdx.org/licenses/Zlib.html

Change-Id: Ib25b98cf7f3a052ec25ba6924748a962733e2ed8
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2018-10-02 10:19:14 +00:00
BogDan Vatra 18be2337ea Android: bump android gradle plugin version
Needed to fix "No toolchains found in the NDK toolchains folder for ABI
with prefix: mips64el-linux-android"

Change-Id: I62d9bae0bf424bb9ba32adce98426245922a841b
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2018-10-02 06:59:13 +00:00
Samuel Gaist 933df86bbc QSFPM: setFilterRegExp and setFilterRegularExpression overloads to slots
The setters of both filterRegExp and filterRegularExpression are
currently normal functions. This patch moves them to slots to make
them usable using the old syntax. This can be done since there are
already overloads for both of them so people using the new connect
syntax would have needed to use qOverload already therefore there is
no SIC.

[ChangeLog][QtCore][QSortFilterProxyModel] Setters of both the
filterRegExp and filterRegularExpression properties are now slots and
can be used with the old as well as the new syntax.

Change-Id: Id5cd9a50fa4a62e2bbd6bd665b44bd25a0402852
Fixes: QTBUG-18113
Reviewed-by: David Faure <david.faure@kdab.com>
2018-10-02 06:19:10 +00:00
Samuel Gaist b6022eccc4 Doc: fix QRegularExpression::wildcardToRegularExpression snippet
The sample output from wildcardToRegularExpression was from an earlier
version of the implementation. This patch fixes this.

Change-Id: I48108add01aafed69490ef2527c1ea6a209b220b
Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com>
2018-10-02 06:19:05 +00:00
Lorn Potter 989e86074a wasm: use config for natural scroll on safari
Change-Id: Idc2ee096144194e3f0d9ca165a578ff9745ef13d
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2018-10-01 23:20:22 +00:00
Mikhail Svetkin 73bc1cf92f QOffsetStringArray: fix compilation error with clang-802.0.42
error: suggest braces around initialization of subobject [-Werror,-Wmissing-braces]
  return StaticString<N1 + N2>{ls[I1]..., rs.data[I2]...};

Change-Id: I30f5f50378f1faed648d092eefc5edb46e940239
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2018-10-01 20:16:11 +00:00
Qt Forward Merge Bot 2e02692ec2 Merge remote-tracking branch 'origin/5.12' into dev
Change-Id: Ic8cdb1c2b7c0a786b1313b6c3a3bf7e9ec288712
2018-10-01 17:51:32 +02:00
Jarek Kobus d2ca870660 Make overloaded function appear in assistant index
When there are overloaded function for one class,
at least one of them mustn't possess \overload command,
otherwise it won't appear at all in doc index.

Task-number: QTBUG-59506
Change-Id: I650a3969cb45c1a5efdfc3a654e01d113c398f16
Reviewed-by: Martin Smith <martin.smith@qt.io>
2018-10-01 13:20:14 +00:00
Jędrzej Nowacki 5b99f3a34f Use std::addressof for taking an address instead of operator& in moc
Moc shouldn't artificially introduce calls to possibly overloaded
operator&. It can cause odd side effects in a user code.

Change-Id: Iaa1b491fe6a1a5ebd4dfa1172359dc792cc7604f
Fixes: QTBUG-68191
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2018-10-01 09:45:31 +00:00
Jędrzej Nowacki b9ce354fb0 Fix namespaced build
It is not allowed to include files within Qt namespace.

Change-Id: I8b87cdc7093bdf0129acca263316f8ea3a037a90
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2018-10-01 09:45:26 +00:00
Jędrzej Nowacki dca3dd66b4 Expose type id from QMetaType instance
There is not reason why it should be kept in secret. Not having public
accessor forces a user code to keep a copy of the id. Visible for
example in QML (QQmlValueType).

Change-Id: If0de65fb8d91bcd50880c66b5f87c68f6d888dd3
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2018-10-01 09:45:20 +00:00
Andrew O'Doherty b2b32d3147 fix HTML subset documentation is not very readable on smaller screens
When viewing "Supported HTML Subset" documentation in Qt Creator (in
QTextBrowser), the first table that lists all tags is quite unreadable
(see images). It happens because there is a code snippet in Comment
column for tag "meta" that uses pre-formatted text. Because it should
not be wrapped automatically, it ends up pushing first 2 columns into
their minimum size, which mostly makes them take a single letter per
row.

Task-number: QTBUG-64126
Change-Id: I08bf6f61806d52e7a2f47bdbed1b5950825ce739
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2018-09-30 21:05:03 +00:00
Qt Forward Merge Bot 07e9261105 Merge remote-tracking branch 'origin/5.11' into 5.12
Change-Id: Iaa438d14357be1bf75bb645cb8d3245947c055b8
2018-09-30 01:00:19 +02:00
Friedemann Kleint 69e68218e5 Windows: Fix QDir::drives() to no longer list ejected media
Add a check using GetVolumeInformation() (modeled after QStorageInfo::ready)
within a SEM_FAILCRITICALERRORS | SEM_NOOPENFILEERRORBOX scope.
Remove old #ifdef used for Windows CE.

[ChangeLog][QtCore][QDir] On Windows, QDir::drives() no longer
returns drives whose media were ejected.

Fixes: QTBUG-69029
Change-Id: I2d4a32e9281ccf3c0f2ebfa427122609aa4f327f
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
2018-09-29 19:45:40 +00:00
Friedemann Kleint 364d3da3d5 QDockWidget: Fix icons being too large when using a style proxying Windows style
Extend the check for Windows style to QProxyStyle. Amends
43b9c9b993.

Task-number: QTBUG-38776
Change-Id: I5331d0c29bea59c59309feeab153437a72e0e30f
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2018-09-29 19:45:38 +00:00
Friedemann Kleint 97f4366202 QLineEdit: Disable input methods for password unless IME supports hidden text
Move the checking logic from QGuiApplicationPrivate::_q_updateFocusObject()
to QInputMethodPrivate::objectAcceptsInputMethod(), which is also called
from QWidget::updateMicroFocus() via QInputMethod::update().

Fixes: QTBUG-56767
Change-Id: Ia4cce5e7e766008df891537048d5daf739c010ff
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
2018-09-29 19:45:35 +00:00
Ivan Komissarov 09e926cc27 Use a std::vector instead of a QVector in QMimeDatabasePrivate
Using std::vector saves a bit c++ code when using range-for loop over
the vector.

Besides, no shared copies created anymore which is a bit faster.

Change-Id: I564306ed9ac907e9f32f59b33ed15c027a59b4eb
Reviewed-by: David Faure <david.faure@kdab.com>
2018-09-29 14:22:18 +00:00
Alexander Volkov a34054c75e xcb: Extract QXcbWindow::isTrayIconWindow()
Introduce this static function to detect tray icon windows.
The old non-static method was unused, so drop it.

Change-Id: Ia97b8a857bd1807ecd56340efbc9b145844d593e
Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
2018-09-29 09:33:11 +00:00
Alexander Volkov 60cecc86f8 xcb: Initialize OpenGL integration only when required
In some cases OpenGL integration may be unnecessary, e.g.
an application may set Qt::AA_ForceRasterWidgets attribute
and don't use OpenGL in any other way. In addition OpenGL
initialization can take noticeable time on some configurations.
So do it on demand only.

Change-Id: If88953f8d5c826bc96fd49eb397b5e1ad693546d
Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
2018-09-29 09:33:04 +00:00
Shawn Rutledge e4a5483eae Doc: fix minor issues in QMessageBox docs
Change-Id: I58a41b3d66bc1fd8af0136f2ef616f717f4a1173
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
2018-09-29 09:32:49 +00:00
Ulf Hermann 076eef86db iOS: add support for custom buttons in native MessageDialog helper
[ChangeLog][QtWidgets][QMessageBox] On Android and iOS it's now possible
to show a QMessageBox with custom buttons as a native dialog.

Task-number: QTBUG-35545
Change-Id: Id3be69e70468f767a43ea5f2ba64f9bac1898423
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2018-09-29 09:32:43 +00:00
Thiago Macieira caa598c843 Fix QUrl::matches for when removing authority parts (other than host)
QUrl::RemoveAuthority is RemoveUserInfo | RemovePort | 0x10, so the
condition

    if (options & QUrl::RemoveAuthority)

would match if any of the other bits for the username, password or port
were set, which meant we would skip the host comparison. Ditto for
username and RemovePassword.

[ChangeLog][QtCore][QUrl] Fixed a bug that caused QUrl::matches to
incorrectly compare two URLs with different hostnames or different
usernames as equal, if certain QUrl::RemoveXxx options were passed.

Change-Id: I015970a03b874898bba7fffd155856ab9d6cb1be
Fixes: QTBUG-70774
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2018-09-29 00:33:39 +00:00
Qt Forward Merge Bot 0e1866017f Merge remote-tracking branch 'origin/5.12' into dev
Change-Id: I6083c3e61b7dbe188f83676f7e7bb268e5ccf2f3
2018-09-29 01:00:10 +02:00
Alexander Akulich 94884246d4 QCommandLineParser: Ensure that an option text ends with a newline
Before this change we inserted newline only if an option has a
description and ended up with an arbitrary long line with all options.

[ChangeLog][QtCore][QCommandLineParser] Fixed a bug that caused the help
output to show two options or more in the same line if the options didn't
have a description.

Task-number: QTBUG-70174
Change-Id: Id54b9ae13ee596869e4dc14e09301aea19eed2f8
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2018-09-28 22:01:05 +00:00
Mårten Nordheim ef4ba0285f SSL: Don't write to closed socket or write to deallocated buffer
Change-Id: I061848ae570b382d640f8e46a1c54aeaeddbd77d
Fixes: QTBUG-61307
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2018-09-28 21:08:16 +00:00
Paul Wicking 9a8175a131 Doc: Remove expired link and add see also entry for style sheets
Remove link to qt.nokia.com and add see also link to Qt Style Sheets
that contain the necessary information.

Change-Id: I05f6f760f3f9735f99385bdb39507b0878ec220c
Fixes: QTBUG-70805
Reviewed-by: Martin Smith <martin.smith@qt.io>
2018-09-28 19:45:58 +00:00
Eirik Aavitsland e63dba14fb Update bundled libjpeg-turbo to version 2.0.0
New, manually created configuration files (jconfig.h / jconfigint.h)
for building in Qt are now placed outside the src directory.

[ChangeLog][Third-Party Code] libjpeg-turbo was updated to version 2.0.0

Done-with: André Klitzing <aklitzing@gmail.com>
Change-Id: I77e34419ebe2f70038b9b80cdf13876055c2a35f
Reviewed-by: Liang Qi <liang.qi@qt.io>
2018-09-28 14:11:44 +00:00
Friedemann Kleint ecfa33e751 Windows QPA: Work around intermittent clipboard copy failures
Repeatedly attempt to open the clipboard in case it is opened
by other applications.

Task-number: QTBUG-27097
Change-Id: Ic1cfec0bb17e34f8c7f744add21a4431dae4f5b7
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
2018-09-28 14:04:20 +00:00
Laszlo Agocs 76c4a70499 QOpenGLShader: report geom. and tess. on GLES 3.2+
Also fix up the docs.

To make everything more complicated, OpenGL ES 3.2 does not support
default tessellation levels. Therefore the related functions remain
OpenGL 4.0+ only.

[ChangeLog][QtGui] QOpenGLShader has been fixed to expose geometry and
tessellation evaluation/control shaders with OpenGL ES 3.2.

Task-number: QTBUG-66074
Change-Id: I2e4277912800d8302824e3fb74f61ec16f4b341d
Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
2018-09-28 13:59:42 +00:00
Friedemann Kleint 05e2690009 Windows QPA: Don't test for Desktop GL if Qt::AA_UseDesktopOpenGL is set
Pass the requested render to detectSupportedRenderers(), replacing
the bool glesOnly parameters. This allows for simplifying the code.

Fixes: QTBUG-70733
Change-Id: Iab65f62d24bf750019180e3b00e2d23c105e5997
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2018-09-28 13:32:51 +00:00
Jussi Witick 47bbc6d6f6 Fix disabled IME when QPlainTextEdit read only property is toggled
Mirror the behavior of working QTextEdit in QPlainTextEdit. The
WA_InputMethodEnabled flag was overridden by the following call
to setTextInteractionFlags().

Task-number: QTBUG-55699
Change-Id: I46402f5d94204acd304d56f488bb0fb342d1a846
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
2018-09-28 13:31:59 +00:00
hjk f286027e6b Fix QXmlStreamWriter xmlns attribute placement
Done-by: Eugenio Rustico
Change-Id: Ibd6aa6cc8be9090a4fad4f96628086d8a498b8e0
Fixes: QTBUG-63434
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2018-09-28 13:19:48 +00:00
Friedemann Kleint 1d09b0d1b2 QGraphicsScene::update(): Keep the list of updatedRects() unique
Otherwise, the rects will pile up when the item is not part of a view.

Task-number: QTBUG-54275
Change-Id: I29c989e25ce0ca1ac0b87d0388a476ef1acd9cfd
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2018-09-28 13:17:22 +00:00
Maurice Kalinowski e2d79b4963 Do not fall back after resizing a dock
This is a follow up to 60be2fb6a1.

Above change only covers resizes via QMainWindowLayout::hover. Doing a
resize via the separator was not covered.

Task-number: QTBUG-70571
Change-Id: Ic1d1cc6d672b97e8c130864f8708268fd6003204
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Reviewed-by: Karsten Heimrich <karsten.heimrich@qt.io>
2018-09-28 13:16:25 +00:00
Friedemann Kleint 34af9fa0dc Windows QPA: Fix programmable keyboard shortcuts being triggered twice
Suppress keyboard events following a WM_APPCOMMAND except for
APPCOMMAND_BROWSER_HOME, which does not trigger two events.

Task-number: QTBUG-62838
Change-Id: If04206c9ef9409224b4cbc96190792b9be4f656d
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
2018-09-28 05:24:26 +00:00
Lorn Potter 9f5b63a337 wasm: enable filesystemmodel for nothread
Task-number: QTBUG-70005
Change-Id: I10b09c1681716b4610147b57db14bce7b0f91b47
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2018-09-28 02:22:24 +00:00
Lorn Potter cd60b78765 wasm: enable Network for nothread
Task-number: QTBUG-70208
Change-Id: Ib73ca0d3c0736336bf517ffb968cbdbab4610319
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2018-09-28 02:22:21 +00:00
Lorn Potter 9c72ae61aa wasm: make maximized and fullscreen windows not draggable
Also make fullscreen windows not have a titlebar

Task-number: QTBUG-69318
Change-Id: I017fc40fecb9f46d6540ffb72a71c9b62097a368
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2018-09-28 02:22:19 +00:00
David Schulz 9567a34bc0 QPlainTextEdit: add current state of modifiers to auto scroll event
Fixes: QTBUG-64856
Change-Id: I8de851e75204bbeb7f3fbd40a5f2200028cc9337
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
2018-09-27 19:24:01 +00:00
Liang Qi 353a58ceb9 Merge "Merge remote-tracking branch 'origin/5.11' into 5.12" into refs/staging/5.12 2018-09-27 18:34:12 +00:00
Luka Modric 3ed8dc3788 Android: fix log output pattern
Remove hardcoded android log pattern as this is already part of the message to
match behavior on other platforms.

Task-number: QTBUG-69450
Change-Id: I529b550114a2164beafe305f8392891c4ead88f0
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2018-09-27 17:15:17 +00:00
Timur Pocheptsov 586650f81d SecureTransport - require the latest SDK 10.13.4
Testing barely 10.13 seems to be insuficcient: we have developers working
on macOS 10.12 with SDK 10.13, but apparently they cannot update to the
latest SDK 10.13. We can try to be more specific and use __MAC_10_13_4.

Task-number: QTBUG-70757
Change-Id: I083d51f1a945f63f0413792387475341ecb96118
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Reviewed-by: Andy Maloney <asmaloney@gmail.com>
2018-09-27 14:45:34 +00:00
Paul Wicking d24a705039 Doc: Add link target to fix QDoc warning in Qt Declarative
Change-Id: Iddaef1ce3f739c3dfb98eb87430fe85e3b2bd01c
Reviewed-by: Martin Smith <martin.smith@qt.io>
2018-09-27 14:32:50 +00:00
Paul Olav Tvete d429146431 Keep tiled subwindow order on resize
QMdiArea::tileSubWindows() will move the active window to the first
position, in order to be consistent with other MDI applications on
Windows (according to the original commit message). However, the same
function is also used for re-tiling on resize, so we must make sure
to not reorder in that case.

Fixes: QTBUG-51761
Change-Id: Ibf93a0bf7e663f983b9160364f812c84b5539171
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2018-09-27 14:31:34 +00:00
Shawn Rutledge 324e92200f Make QWindow::transientParent a property
The accessors have existed for a long time, but in Qt Quick it helps
to have it available as a property, in case any of the "magic"
guesses wrong about the user's intention.

[ChangeLog][QtGui][QWindow] QWindow::transientParent is now a property.

Task-number: QTBUG-67903
Task-number: QTBUG-52944
Change-Id: Ibf6ed789c4756bd934bdb4620fbcdb5879c3fb17
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
2018-09-27 14:02:07 +00:00
Liang Qi d0fcaa7eaa Merge remote-tracking branch 'origin/5.11' into 5.12
Conflicts:
	src/corelib/global/qconfig-bootstrapped.h
	src/widgets/util/qcompleter.cpp

Change-Id: I4f44f0f074982530f2f2e750ce696230b2754cf3
2018-09-27 11:08:55 +02:00
Liang Qi 555a6b5d5d Modernize the "filesystemwatcher" feature
Change-Id: If030b56ad97e047d89d442629262b4839df306d4
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2018-09-27 08:18:55 +00:00
Eskil Abrahamsen Blomfeldt 720e243d88 Fix crash when detaching dangling QTextCursor
When a QTextCursor survives its QTextDocument, the internal
QTextDocumentPrivate pointer is set to null. There are checks for
this in all the QTextCursor functions to skip out early if such
a QTextCursor is used.

However, when executing the "if (d->priv)" condition in setters,
this will access the non-const operator->() of QSharedDataPointer
and detach the QTextCursorPrivate, and in the copy constructor of
this class, there was an unprotected call into priv->addCursor().

In theory, we could cast all the checks for d->priv to avoid
detaching, but in practice this doesn't matter, since the setters
will typically detach anyway later on.

[ChangeLog][QtGui][Text] Fixed a crash that can happen when calling
a setter on a QTextCursor after its QTextDocument has been deleted.

Task-number: QTBUG-70293
Change-Id: I8f6dc5bb344d1d824f673c0c220b68b7fee237a8
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2018-09-27 06:51:37 +00:00
Eskil Abrahamsen Blomfeldt 9601ad4e27 Fix font weights on macOS 10.14
On later versions of macOS, the font weight trait of fonts is a 64 bit
double, not a 32 bit float, and on macOS 10.14, CFNumberGetValue()
started returning false for values when the type conversion is lossy,
like it is documented to. Therefore, we would end up without weight
information in 10.14.

The fix is to ask for a double instead, which works regardless of
whether the CFNumber represents a 32-bit or 64-bit value.

[ChangeLog][macOS][Text] Fixed font weights on macOS 10.14

Task-number: QTBUG-69955
Change-Id: Ia0577236ddc6b96f9231e6de7b1c49f7f8a837a6
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by: Jason Haslam <jason@scitools.com>
2018-09-27 06:50:46 +00:00
Paul Wicking f6ce2d42b3 Doc: Improve HarfBuzz configure options documentation
Task-number: QTBUG-63632
Change-Id: Iedaf34d016d13eeae3dc2e9030a3cea28e602ccc
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
2018-09-27 03:32:02 +00:00
David Schulz 706db17d9a QPlainTextEdit: update scrollbars after setting center on scroll
Fixes: QTBUG-64730
Change-Id: I6ff7b10eb209a407c99529a09226cd97f9b6e9f8
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
2018-09-26 11:34:52 +00:00
Eskil Abrahamsen Blomfeldt c4a524f3a1 Remove DirectWrite warning when loading bitmap fonts
We use DirectWrite to determine whether a font is a color font
or not, so all fonts go through DirectWrite initially. However,
the load call will fail for bitmap fonts, causing us to output
lots of pointless warnings each time such a font was in use.

Instead, we only output this warning if we actually plan to
load the font through DirectWrite later. If the load fails,
we can assume it is not a color font and do not need to output
any warning for this.

[ChangeLog][Windows][Text] Removed confusing DirectWrite warning
when loading bitmap fonts.

Task-number: QTBUG-57180
Change-Id: Iaac8117745ef05a1dff23b346dbe0c6dbfb315f7
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2018-09-26 10:50:29 +00:00
Alexandru Croitor 5e64957ee4 Fix QCompleter popups preventing the application from exiting
Due to an implementation detail regarding setParent() and
setWindowFlags(), if a QCompleter popup ends up being the last open
window after closing the main window, the application would be
prevented from exiting even after selecting an item in the popup.

This is due to adjustQuitOnCloseAttribute() not being called when
passing a Qt::Popup flag to setParent(parent, windowFlags).

Use setWindowFlags() directly, which adjusts the quit on close
attribute, and allows an application to exit properly.

Change-Id: Ic4cff9504df268556d851e40d5ae08b7ed4dc3bf
Fixes: QTBUG-69924
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2018-09-26 08:35:30 +00:00
Albert Astals Cid a3f575484a qppmhandler: Fix undefined overflow behavior
By making the hardcoded values unsigned

image/qppmhandler.cpp:126:36: runtime error: signed integer overflow: 65535 * 65535 cannot be represented in type 'int'
    #0 0x4cef10 in scale_pbm_color(unsigned short, unsigned short, unsigned short, unsigned short) /src/qt/qtbase/src/gui/image/qppmhandler.cpp:126:36
    #1 0x4cb1d5 in read_pbm_body(QIODevice*, char, int, int, int, QImage*) /src/qt/qtbase/src/gui/image/qppmhandler.cpp:274:39
    #2 0x4ca3d8 in QPpmHandler::read(QImage*) /src/qt/qtbase/src/gui/image/qppmhandler.cpp:509:10
    #3 0x4b238d in QImageReader::read(QImage*) /src/qt/qtbase/src/gui/image/qimagereader.cpp:1253:22
    #4 0x4b1b61 in QImageReader::read() /src/qt/qtbase/src/gui/image/qimagereader.cpp:1201:12
    #5 0x486f66 in QImage::fromData(unsigned char const*, int, char const*) /src/qt/qtbase/src/gui/image/qimage.cpp:3624:37
    #6 0x486cd8 in QImage::loadFromData(unsigned char const*, int, char const*) /src/qt/qtbase/src/gui/image/qimage.cpp:3590:13
    #7 0x434b2e in LLVMFuzzerTestOneInput /src/qimage_fuzzer.cc:28:7
    #8 0x44b167 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/libfuzzer/FuzzerLoop.cpp:570:15
    #9 0x43c8bd in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/libfuzzer/FuzzerDriver.cpp:280:6
    #10 0x4407bb in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/libfuzzer/FuzzerDriver.cpp:713:9
    #11 0x434bf8 in main /src/libfuzzer/FuzzerMain.cpp:20:10
    #12 0x7fd4d93b982f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2082f)
    #13 0x409bb8 in _start (/out/qimage_fuzzer+0x409bb8)

Change-Id: I56674d0c2e59a30095552eb84aba17d7b516dd4a
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
2018-09-26 07:51:10 +00:00
Oliver Wolff 7b00eab593 qwinrtcursor: Use QPointF as much as possible in pos/setPos
Using QPoint for calculations can lead to rounding errors which can
result in a situation where
"QCursor::setPos(somePos); QCOMPARE(pos, somePos)" fails.

Change-Id: Iaba499f67abcf5ec66adfe93bfbd79ef0102e6d0
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2018-09-26 05:41:07 +00:00
Friedemann Kleint fdcbf0b2a2 Windows UI automation: Add missing override
Fix warning by clang-cl:
qwindowsuiamainprovider.h(89,31):  warning: 'SetFocus' overrides a member function but is not marked 'override' [-Winconsistent-missing-override]
    HRESULT STDMETHODCALLTYPE SetFocus();

Task-number: QTBUG-63512
Change-Id: Iac3cbf8577423ed799796034953be39ed1663116
Reviewed-by: Miguel Costa <miguel.costa@qt.io>
2018-09-26 05:41:06 +00:00
Oliver Wolff 7421a0e882 winrt platform plugin: Fix clang warnings
Fixed warnings:
  - missing override specifier
  - 0 as nullptr constant
  - implicit change of signedness
  - non portable path to header file

Change-Id: I6977bc561176ac7804ac01325b84c15ba849bbf2
Reviewed-by: Miguel Costa <miguel.costa@qt.io>
Reviewed-by: Andre de la Rocha <andre.rocha@qt.io>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2018-09-26 05:41:05 +00:00
Oliver Wolff e5b4e7a9ed QWinRTInputContext::hideInputPanel: return early if panel is not visible
If the input panel is not visible TryHide will result in
"Failed to hide input panel. (The operation completed successfully.)".
That happens a lot in Qt's auto tests for example.

Change-Id: Ieae17e07c3646dce8f348e21f537a2455fe03461
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Miguel Costa <miguel.costa@qt.io>
Reviewed-by: Andre de la Rocha <andre.rocha@qt.io>
2018-09-26 05:41:03 +00:00
Aleix Pol 50b995d114 Fix typos in the documentation
Returnes -> returns

Change-Id: I52372488a16d7c13e85fca0e11eaab738db9355d
Reviewed-by: Jesus Fernandez <Jesus.Fernandez@qt.io>
2018-09-25 23:39:06 +00:00
Allan Sandfeld Jensen c33faac32b More fixups for GL_CONTEXT_LOST
Fixes the rest of the places we use the pattern of emptying the OpenGL
error stack to be able to handle GL_CONTEXT_LOST, and adds a note about
it in the documentation.

Change-Id: I7eb97dbca45f39295b832d44937023b538b19947
Reviewed-by: David Edmundson <davidedmundson@kde.org>
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2018-09-25 22:35:58 +00:00
Thiago Macieira e3e28915c3 Fix erroneous use of errno with qErrnoWarning
On Windows, the error code to be used with qErrnoWarning is not errno,
but Windows's GetLastError(). Obviously, right?

So don't pass errno to it, just let it get the error message straight
from qt_error_string(), which will use GetLastError().

Change-Id: I44e7d800c68141bdaae0fffd155619c93e3f3dab
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2018-09-25 22:14:10 +00:00
Thiago Macieira 7e1a0c0739 Add tests for decoding too-short UTF-8 sequences
We were handling this properly, but not testing them. I guess we weren't
testing because the condition is a valid intermediate state, so
hasFailure() is correct it returning false.

Testing inspired by the bug reported in
https://github.com/intel/tinycbor/issues/137

Change-Id: Ib47c56818178458a88b4fffd1554ecfdd0af637e
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2018-09-25 22:14:07 +00:00
Thomas Miller 4d40f09a45 Upgrade double-conversion to v3.1.1
Utils.h now includes defines for _M_ARM and _M_ARM64 to enable
compilation on Windows arm and arm64.

The locally added __ghs and __EMSCRIPTEN__ clauses are preserved.

[ChangeLog][Third-Party Code] double-conversion got updated to upstream
version 3.1.1.

Task-number: QTBUG-70008
Change-Id: Ie5411ee8d9cb32c39d7dca5a2262e6b3854732a5
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2018-09-25 22:13:59 +00:00
Giuseppe D'Angelo 42c545faf7 Tracepoints: trace signal activation
Change-Id: I1ef8074178386166157d9b3416fd432014585857
Reviewed-by: Rafael Roquetto <rafael@roquetto.com>
Reviewed-by: Sérgio Martins <sergio.martins@kdab.com>
2018-09-25 21:22:47 +00:00
Liang Qi afb2619d76 Merge "Merge remote-tracking branch 'origin/5.12' into dev" into refs/staging/dev 2018-09-25 21:06:50 +00:00
Andy Shaw 80406d2c25 Correct documentation about the datastream versions
This amends f5fe9fc5a4

Change-Id: I1d21f5b5f4896a11376f37ed0e39f00f2214c67b
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
2018-09-25 19:57:07 +00:00
Anton Kudryavtsev 9941719a8d QWindowsCursor: fix typo and change enum CursorState into enum class
Change-Id: I55b539da99254d3f7318193669c409552e429a6a
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2018-09-25 19:29:37 +00:00
Topi Reinio 1a9b8715ce Doc: Fix QEasingCurve code snippets
Commit ff2a71e3 accidentally removed a code snippet used in documenting
EasingCurve::EasingFunction. This commit restores it and fixes other
minor issues in QEasingCurve code snippets.

Change-Id: Ib19f602a4abbca3511d3d26c5f6da4910f7104a3
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
2018-09-25 16:39:01 +00:00
Edward Welbourne 35020c2394 Fix some infelicities in the Q(Date|Time)+ docs
Some of the claims made were not strictly acurate.

Change-Id: Ia7c83ce44257acce32814c0bbb3b787bb6b8596b
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2018-09-25 14:35:36 +00:00
Alessandro Portale 8d26f70145 Remove excess "virtual" keyword from destructors in Qt Gui
Destructors whose base class have a virtual destructor are
automatically virtual and do not need to be marked as such.

Change-Id: I84c73ab965077bbb03f4213e53c241569213cae0
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2018-09-25 14:34:42 +00:00
Sven Pauli 264ad32827 Add const overloads for QColor::getCmyk and QColor::getCmykF
Align the constness of QColor::getCmyk and QColor::getCmykF with the
rest of the family (QColor::getRgb etc.) by adding overloads. The
non-const methods could be removed with the next major release as that
will break binary compatibility.

Task-number: QTBUG-65176
Change-Id: I8579928a43fb59aed3319ff73481994a54b274f8
Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2018-09-25 14:23:53 +00:00
Christian Ehrlicher 7fafeb4a34 QTreeView: sync keyboard search behavior with other itemviews
QTreeView has a special implementation of keyboardSearch() which is not
consistent to the base implementation regarding the selection behavior:
 - currentSelectionStartIndex is not set which results in a wrong
   mouse selection behavior afterwards
 - only the current index is set but not the current selection
Sync the behavior by calling setCurrentIndex() directly in QTreeView
too.
One problem remains with this patch - the key handling is still
different between QAbstractItemView and QTreeView for repeating key
presses.

Task-number: QTBUG-18862
Change-Id: Ife79d146cf16d6ecbf9f86540777dae15aa1ffb0
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2018-09-25 14:23:06 +00:00
Shawn Rutledge 4c631c0bf9 Android: add support for custom buttons in native MessageDialog helper
New API in QMessageDialogOptions and implementation on Android.

Task-number: QTBUG-35545
Change-Id: I59567251199f220862d01ba76979266379eecd86
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2018-09-25 14:15:40 +00:00
Alessandro Portale d0c159c8e3 Fix a few overrides in Qt Core
This change removes redundant 'virtual' from function declarations.

Clang Tidy's modernize-use-override check reports:
  warning: 'virtual' is redundant since the function is already
  declared 'override'

CppCoreGuidelines say:
  C.128: Virtual functions should specify exactly one of virtual,
  override, or final

Change-Id: I9a4bdd6cc041d46ae64b25597ba4f7268ac4c2b7
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Kevin Funk <kevin.funk@kdab.com>
2018-09-25 13:34:19 +00:00
Eirik Aavitsland 7a6a9dbb7d QImageWriter: Fix default compressionratio
Before asking a image format handler to save an image, QImageWriter
sets the value of all supported options. For options like quality and
gamma, the default value is an illegal value (-1 and 0.0 resp.),
effectively telling the handler that the application has not requested
any particular value. But in the case of compressionratio, the default
was 0, a legal value. Fix by changing it to -1.

Change-Id: Iad6d4c2dbe269b25863e7d4967aa9ed2a7d1247f
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2018-09-25 12:32:34 +00:00
Eirik Aavitsland b233ce66d3 QPainter cosmetic stroker: Fix painting error for FlatCap lines
Initialize the lastDir properly, to avoid the stroking algorithm doing
direction-change handling for a single line. That could cause a cap to
be painted for a single FlatCap line.

Also fixes a bug in tst_qpainter, revealed by the above fix. The
result drawPolyline was erroneously compared to the result of drawing
the lines individually, for a case where the former correctly paints
the pixel of the join point in the corner, while the latter by
coincidence used to paint the same pixel as a cap because of the bug
above.

Task-number: QTBUG-70101
Change-Id: Ie20eda33214cfe9e7627f17ef4c7a5b3835c9c24
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2018-09-25 12:32:24 +00:00
Morten Johan Sørvig d0528d558e macOS: Use light color for tooltip text in dark mode
Tool tip text is drawn by QLabel using ToolTipText
text role. Give it a system palette entry.

Change-Id: I2e1b4f0b130783efd8d03f53a42c3e64aec32425
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2018-09-25 12:15:28 +00:00
Morten Johan Sørvig 02f7444c85 No-thread: prevent double delete of QThreadPrivate
Change-Id: Ie34c06ad798be6bd91f5c356051daaa72800c20a
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2018-09-25 12:15:19 +00:00
Qt Forward Merge Bot a607fcb31e Merge remote-tracking branch 'origin/5.12' into dev
Change-Id: I4d123c3cdf86524716ba67091e0347309b49c837
2018-09-25 10:56:53 +02:00
Timur Pocheptsov f99e956d65 Add QT_REQUIRE_CONFIG(ssl) to pre-shared key authenticator
As it's done (albeit in old-style there) in other public QSsl-classes.

Task-number: QTBUG-70604
Change-Id: If3cd9da0e8f8378fd29a80215cd889e459aa7bce
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2018-09-25 05:51:19 +00:00
Shawn Rutledge b4b706d454 Ensure that QTabletEvent is not pre-accepted before sending
In QWidget-world it's normal for input events to have the accepted
flag false by default, so that it's obvious after visiting a widget
subclass that does not override a particular handler function that it
did not handle that event type at all.  For tablet events in
particular, the contract (to which we've been paying more attention to
ensure that QTBUG-47007 remains properly fixed) is that if a
QTabletEvent is not accepted, a mouse event will follow.
Tablet-unaware applications need to get the same mouse events from a
Wacom stylus as they would receive from an actual mouse.

In this case the issue was missing hover events (mouse movements
in which no mouse button is pressed).  Without those, the enterEvent
and exitEvent virtuals are also not invoked properly.

Task-number: QTBUG-47007
Task-number: QTBUG-65199
Change-Id: I957005aad9d2bf85a3a41bbdebe3e046e34dee4d
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
2018-09-25 03:57:35 +00:00
Qt Forward Merge Bot 35ec3b49e1 Merge remote-tracking branch 'origin/5.12' into dev
Change-Id: I65e4457a218f333161e9e72735b62fc821475f45
2018-09-25 01:00:35 +02:00
Christian Ehrlicher 02663718a9 QHeaderView: Don't unhide hidden sections on layoutChanged()
When storing the persistent indexes within _q_sectionsAboutToBeChanged()
there was a limit one how much persistent indexes should be stored due
to performance concerns. This resulted in unhiding hidden rows.
The rationale behind this was that storing persistent indexes is slow
and that hiding a large amount of rows/columns should be done with a
QSortFilterProxyModel.
Fix it by removing the limit since it does not really hurt performance.

Task-number: QTBUG-70633
Change-Id: I2311213c2b63c67e2210aa7f73f07d28dc0e47be
Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
2018-09-24 19:25:19 +00:00
Christian Ehrlicher 8bd0e6709f QHeaderView: apply small optimization in recalcSectionStartPos()
The loop in recalcSectionStartPos() calls QVector<>::constEnd() after
every iteration which is not needed since the vector stays constant.
Therefore use the new for loop syntax from c++11 so constEnd() is only
called once which gives a small speedup, noticeable with large section
counts.

Change-Id: If318eec10c9ce234004a9922409fbdbc6409f2f8
Reviewed-by: Samuel Gaist <samuel.gaist@idiap.ch>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
Reviewed-by: Luca Beldi <v.ronin@yahoo.it>
2018-09-24 19:03:02 +00:00
Christian Ehrlicher 6d648961c6 QItemWidgets: emit layoutChanged with proper sortHint
layout(AboutToBe)Changed gained a sortHint parameter with Qt5.0 but the
itemmodels did not set a proper value where possible.
Since the sorting of the ItemWidgets is only per column, it is
reasonable to pass QAbstractItemModel::VerticalSortHint in the various
layoutChanged calls.

Change-Id: Ia11322bae1a96bc0d7d8422558a11cdfe04c2808
Reviewed-by: Samuel Gaist <samuel.gaist@idiap.ch>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2018-09-24 19:02:55 +00:00
Liang Qi b26cd68bf6 Modernize the "datestring" feature
Change-Id: I2236a456fe3758d9054b22e36fe6316f3522d533
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2018-09-24 17:12:29 +00:00
Liang Qi e226b0f94a Modernize the "textdate" feature
Change-Id: Ic0b6f13e17c301ed66d6a8297c242086c94ac87d
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2018-09-24 17:12:24 +00:00
Timur Pocheptsov 2e94947c56 qnsview_key/qnsview_mouse make Ctrl+left click work again
A result of typo/incorrect keyboard modifiers extracted +
wrong button sent via QWindowSystemInterface::handleMouseEvent.

Task-number: QTBUG-70512
Change-Id: I809168e363496884312412051e8d435f5794b3be
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2018-09-24 17:01:08 +00:00
Dmitry Shachnev 6948bf20a7 QSslContext: Use 0 instead of TLS_MAX_VERSION
According to the SSL_CTX_set_max_proto_version manpage [1]:

> Setting the minimum or maximum version to 0, will enable protocol
> versions down to the lowest version, or up to the highest version
> supported by the library, respectively.

This should make it possible to use Qt Network with older versions of
libssl than it was compiled against. In particular, use with 1.1.0 when
compiled against 1.1.1.

Also, one of OpenSSL developers is suggesting to remove TLS_MAX_VERSION
from the public header in the future [2].

[1] https://www.openssl.org/docs/man1.1.0/ssl/SSL_CTX_set_max_proto_version.html#DESCRIPTION
[2] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=908567#59

Change-Id: Ie76054b917daa8e54d5c0156e848dbaca7bb8a82
Reviewed-by: Lisandro Damián Nicanor Pérez Meyer <perezmeyer@gmail.com>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2018-09-24 13:40:30 +00:00
Timur Pocheptsov 4b7ff8e98c Protect HSTS code for no-feature-settings build
Under the hood we use QSettings to store HSTS policies.
Qt configured with 'no feature settings' would fail to
build then. For such builds, we fall back to in-memory
only HSTS cache.

Change-Id: I6df551d8c6c96d982080a51ce6b1bdce71d04b9f
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2018-09-24 11:49:05 +00:00
Thiago Macieira 4fc4f7b0ce Export qt_open64 from QtCore
Other libs use qcore_unix_p.h.

qopenglprogrambinarycache.cpp:function QOpenGLProgramBinaryCache::load(QByteArray const&, unsigned int): error: undefined reference to 'qt_open64(char const*, int, unsigned int)'

Change-Id: I44e7d800c68141bdaae0fffd155675d15eded2e4
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Eric Lemanissier <eric.lemanissier@gmail.com>
2018-09-24 10:59:02 +00:00
Martin Smith 47f815cb26 doc: Fix several miscellaneous qdoc warnings
This update fixes several qdoc warnings for things like incorrect
links to section titles, missing enum \value commands, and incorrect
\fn signatures.

Change-Id: I35ae18810d386a78ffa87d674489c7ad8c5fa215
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
2018-09-24 10:45:30 +00:00
Andy Shaw 8aa9bb6d3f Clarify docs regarding the states of a QFutureWatcher with no future set
Task-number: QTBUG-55554
Change-Id: I49b475a95d8ee65864cfa6d1024cb17cfe648b43
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
2018-09-24 10:32:49 +00:00
Kai Koehne 12c357bebb Document IAccessible2 version
The update to 1.3.0 was done in
b2a7d865b2.

Change-Id: Ie4227d49a1ee0707abff754a5edbcb2b9663ccfe
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2018-09-24 10:30:56 +00:00
Morten Kristensen f30bf5fbd5 Fix shortcuts in dock widgets with custom title bar
QWidgetResizeHandler cannot be sure that it will see the MouseReleaseEvent and therefore buttonDown
could be set wrong (and is set wrong in QGraphicsViews). When the mouse is up, the widget should
not think it is moving or re-sizing the dock widget. A similar fix exists in the code a few lines
above.

Task-number: QTBUG-70596
Change-Id: I52ce487836bc71da8fd7d71f8a89e21b51406d00
Reviewed-by: Sérgio Martins <sergio.martins@kdab.com>
Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de>
Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2018-09-24 09:57:55 +00:00
Christian Ehrlicher 43ed09fed5 QListView: Speedup handling of hidden items
Instead iterating through all rows to get the number of hidden items,
iterate over the hidden items which are fewer items.
Also don't create a temporary vector with visible flow positions by
remembering the count of hidden items before the working index and
adjusting them appropriately which gives a significant performance
boost when working with a large data set.

[ChangeLog][QtWidgets][QListWidget] Speedup handling of hidden items
when working with large data sets

Task-number: QTBUG-68977
Change-Id: I599b6e97945c245f02229145baad8363ec2bf2f5
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2018-09-17 14:01:31 +00:00
Christian Ehrlicher 2b17731413 QTableView: fix calculating cells to draw
The width of the bitarray which should avoid redraws of already drawn
cells is sometimes calculated with other parameters then the actual
drawing. This can lead to cells which are not drawn.
The reason for the discrepancy is that for the initial calculation the
headers viewport width is taken which can be smaller than the real
width due to a css border. Since all other QHeaderView operations do not
take the border into account the problem arises.
This will not fix the visual glitch (the header separators are not
painted at the same position as the grid) but will at least draw all
needed cells.

Task-number: QTBUG-20316
Change-Id: I4a1e35ee3ea51b1b458ad3497aab0a34af680cb8
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2018-09-17 14:01:28 +00:00
Liang Qi 23f1be0c67 Merge "Merge remote-tracking branch 'origin/5.12' into dev" into refs/staging/dev 2018-09-16 14:55:30 +00:00
Sergio Martins 2a9cdd88b0 stylesheets: Don't fail silently with invalid background-images
Print a qWarning, otherwise this is very hard to notice

Change-Id: I882f97583071e786d5aa06f6eeb485da4fc646db
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: David Faure <david.faure@kdab.com>
2018-09-16 13:26:24 +00:00
Andreas Hartmetz 50315cc56e Fix return value of GLib event dispatcher socketNotifierSourceCheck
The wrong return value didn't seem to result in observable bugs.

Change-Id: Iaba74d0acd4352af9be70498a7d5556bb1e02f5f
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2018-09-16 12:31:06 +00:00
Andreas Hartmetz 37df81b788 GLib event dispatcher: fix iteration in source check in error case
It was accessing the deleted current element in a potentially
reallocated container.

Change-Id: I81d86410907b7b0c20c2edc62ad256315606bc96
Reviewed-by: Andreas Hartmetz <ahartmetz@gmail.com>
Reviewed-by: David Faure <david.faure@kdab.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2018-09-16 12:31:00 +00:00
Gatis Paeglis 232fe3ab6a doc: add note about QAbstractEventDispatcher::wakeUp() for {Unix,Glib}
Task-number: QTBUG-70229
Change-Id: I3efc20baf0cfeb79834f3f2b7aa5a4cb049542f6
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2018-09-16 11:22:48 +00:00
Qt Forward Merge Bot 4e0fcc6ffc Merge remote-tracking branch 'origin/5.12' into dev
Change-Id: Ic3ffc44d61448a44353c004b9f6703786cc1b213
2018-09-16 01:00:13 +02:00
Thiago Macieira cb5c24fa26 Fix integer overflow in very long sections in ELF objects
The source is an ElfXX_Off, which is an unsigned 32- or 64-bit. That
means any section bigger than 2 GB would cause an overflow when we
assigned in

    m_stringTableFileOffset = strtab.offset;

Change-Id: Ib47c56818178458a88b4fffd15546bd47a89894e
Fixes: QTBUG-70560
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2018-09-15 19:46:40 +00:00
Olivier Goffart 6ff862a682 Fix binary compatibility with old generated moc files
Commit 1c623bc6d1 introduced a new
QMetaObject revision, which change the size of the QMetaEnum data.
When looking up QMetaEnum in a QMetaObject, this size need to be
checked for every different QMEtaObject from the hierarchy, not just
the first one.

Change-Id: I6f0d3982329822e15e284aef9b141d4c9ab351b9
Reviewed-by: David Faure <david.faure@kdab.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2018-09-15 15:06:38 +00:00
Mikhail Svetkin 6723155bc7 QOffsetStringArray: fix compilation error with ICC18
error: expression must have a constant value
  static constexpr const auto messages = qOffsetStringArray(

Change-Id: I80a6bf5b83f99a8325511ac8a14e0c9819e3d2b7
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2018-09-14 20:08:15 +00:00
Allan Sandfeld Jensen 1511bfef52 Disable RGB64 backend for ARGB32 when it will be very slow
Fixes a speed regression on ARGB32 painting on low end hardware
introduced when it was switched to using the RGB64 raster routines.
It turns out several of our embedded QPA targets use ARGB32 as native
format.

Task-number: QTBUG-69724
Change-Id: I6d7993c12da46a85b8354eb905930dae9602b5e6
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2018-09-14 16:57:02 +00:00
Romain Pokrzywka 5728a9d8a7 Windows QPA: Dispatch skipped touch/pen events if compression is off
If the hardware produces events faster than the app can consume between
two updates, Windows automatically coalesces them into a single message
with the latest touch/pen pointer state and coordinates, effectively
compressing those events. But the pointer API also supports querying
and retrieving the skipped individual touch and pen frames.

There are cases where keeping all the events generated by the hardware
is desired, especially for pen events where having the most sampled
points available is critical to precisely rendering curves.

Qt already defines application attributes to control event compression
for general high frequency events and for tablet events in particular.
Use them on Windows also to control whether to retrieve skipped frames.

[ChangeLog][Windows] The application attributes AA_CompressTabletEvents
and AA_CompressHighFrequencyEvents are now supported on Windows 8 and
above for touch/pen input, with the same defaults as on X11 (compress
touch events, don't compress tablet events)

Task-number: QTBUG-44964
Task-number: QTBUG-60437
Change-Id: I1b11a043e2d71ee502895971fafb3a46306a89d8
Reviewed-by: Andre de la Rocha <andre.rocha@qt.io>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2018-09-14 15:41:28 +00:00
Paul Wicking 74700493c3 Doc: Remove extra \a command causing QDoc macro expansion error
Change-Id: I453a68a579e4fd519616cd1a9f934501b01ef44c
Reviewed-by: Martin Smith <martin.smith@qt.io>
2018-09-14 03:56:09 +00:00
Qt Forward Merge Bot 42f84de26a Merge remote-tracking branch 'origin/5.11' into 5.12
Change-Id: Ic4c1a8041dcfd143861c39e0014fbdaaa3fb25c6
2018-09-14 01:00:08 +02:00
Florian Bruhin 49efea26a5 sqlite: Fix QSqlError handling when opening/closing database
Both sqlite3_open_v2 and sqlite3_close are documented to return an error code:
https://www.sqlite.org/c3ref/open.html https://sqlite.org/c3ref/close.html

However, those were ignored (other than checking whether the operation
succeeded), causing QSqlError::nativeErrorCode() to always be "-1" when there
was an error while opening/closing the database.

Additionally, the error string needs to be read (via sqlite3_errmsg16) in
qMakeError *before* d->access is set to 0, or the databaseText() will always be
"out of memory" no matter what error actually happened.

Task-number: QTBUG-70506
Change-Id: I75cbf178c9711442e640afd26c4502214d20c598
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2018-09-13 18:18:47 +00:00
Andy Shaw c9f316c8b9 ODBC: Correctly check if the field is within the fieldCache range
This was found while running the ODBC tests. tst_QSqlQuery::isNull()
accounts for this already.

Change-Id: Idf99a85396d7aa4e69b89467f873b105ef946f7f
Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2018-09-13 17:07:57 +00:00
Tor Arne Vestbø 704a3989d1 Fix spelling mistake in qimage.h
Change-Id: I2138318894587cc0b5f03af14a57b2a39509f0da
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2018-09-13 15:53:18 +00:00
Tor Arne Vestbø 2c649856d5 macOS: Clarify what static mutex in QCocoaGLContext is used for
Change-Id: I4af0b78dbecad40b2a73cdbdb09a8eb60efdb013
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2018-09-13 15:53:17 +00:00
Andy Shaw 45c1473847 Detect when we are at the sentence boundary
On Samsung devices this would cause it to always to captalize each word
even if it was not a new sentence. Therefore we use QTextBoundaryFinder
to determine if it is a new sentence or not.

Task-number: QTBUG-69398
Task-number: QTBUG-66531
Change-Id: I24bf36f09a2570acfefd4343551cb1720ddc6279
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2018-09-13 15:36:34 +00:00
Qt Forward Merge Bot f5bf8ca9c3 Merge remote-tracking branch 'origin/5.12' into dev
Change-Id: Icd201bf6b634e44e0e2ab05eaf91a7d8588d7f05
2018-09-13 01:00:39 +02:00
Allan Sandfeld Jensen bff307ab93 Fix XCB on endian mismatched client and server with SHM off
If SHM is disabled, that code path already does its own bswaping.

Change-Id: I6c17f6c5c5502c8f89098d38d931b6b8f50b2640
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2018-09-12 11:56:38 +00:00
Christian Ehrlicher 0d1481b4d2 SQL PostgreSQL/SQlite: Properly decode default varchar parameter
The default values for varchar columns were not decoded properly.

Task-number: QTBUG-46968
Change-Id: Ie13d48c316cd694240f7e287010b97afc8c6c341
Reviewed-by: Robert Szefner <robertsz27@interia.pl>
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
2018-09-12 09:11:04 +00:00
Eirik Aavitsland 9d1c881f49 Texture file support: add mipmap reading to ktx handler
Change-Id: Ic2c10b3e64d63d2272a8a3922d2b3f99dfd45bdb
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2018-09-12 08:41:38 +00:00
Laszlo Agocs 2d82cb7d77 QVulkanWindow: Fix some load/store ops in the default renderpass
Stencil is - very likely - cleared just like depth. Also, switch to
STORE_OP_STORE for the multisample buffer, for correctness.

Change-Id: I31b56658286205af8551018115ca2abbe541be67
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
2018-09-12 08:34:20 +00:00
Laszlo Agocs d6c7089e6c QVulkanWindow: Fix bogus stage masks in readback
Change-Id: I08882a02204c95272b100647923c9903f825912c
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
2018-09-12 08:34:17 +00:00
Laszlo Agocs 1c6bd414dd Fix device local alloc in hellovulkantexture
Running with QT_VK_FORCE_STAGE_TEX does not work at all with recent
NVIDIA drivers due to QVulkanWindow's and the example's naive way of
picking the memory index. Enhance this and add a warning note to the
QVulkanWindow docs as well.

Change-Id: I7f200e11d982b56e3da3b71ee3915bd7bfca5cc1
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
2018-09-12 08:34:15 +00:00
Allan Sandfeld Jensen 73af8e7553 Add optimized fetch ARGB32 routines for NEON
After convert and fetch were split, only convert was still NEON
vectorized, while fetch is the more commonly used version.

Change-Id: Iea2af7ccee6589b3d6e9908afeaae2d1ad2753be
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
2018-09-12 07:26:55 +00:00
Paul Wicking cfb8d70888 Doc: Fix typo and add precision to method description
As transform() returns worldTransform(), point out that it is an alias
in its description.

Fixes: QTBUG-18117
Change-Id: I0eb1f78c6955b499906024105f9969cdccf13303
Reviewed-by: Martin Smith <martin.smith@qt.io>
2018-09-12 06:42:40 +00:00
Andy Shaw a3e8b92d97 ODBC: Remove the trailing \0 in the case of a non unicode string
Some ODBC drivers, such as old Informix ODBC drivers will incorrectly
include a trailing \0 in a string when this should not exist. For
unicode strings this was already accounted for, but for non-unicode ones
this was not covered.

The change also fixes up the comments a bit to make this clearer and
also added one for the unicode case.

Task-number: QTBUG-62406
Change-Id: Id932a58d9e5fdff2f4d1aacf8cc9fdaeb34f95f4
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2018-09-11 16:39:03 +00:00
Tor Arne Vestbø d8c210d7f5 macOS: Prevent flickering when resizing window rendered to by separate thread
When a window is resized AppKit groups all updates to the view frames and
corresponding layer bounds, so that the result of the resize is visually
atomic, but this only works for the main thread.

http://openradar.appspot.com/radar?id=4990815088672768

When a separate thread renders to one of the views in the window, it may
result in the view and its layer updating its bounds visually before the
resize has been visually reflected for the window itself and its border.

To ensure visually atomic updates, we disable all screen updates for the
process during resizing. This is the same workaround used by e.g. the
NSOpenPanel class, which renders the content of the view out of process,
and by Chromium for a similar use-case:

https://chromium-review.googlesource.com/c/chromium/src/+/798774

Ideally we'd do this only for the window that is being resized, but there's
no known API to do that. The deprecated [NSWindow disableScreenUpdatesUntilFlush]
is a no-op these days, and used NSDisableScreenUpdates internally anyways).

Fixes: QTBUG-69321
Change-Id: I84de714782278f2e0b2b2e1eb245c30810cb3023
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2018-09-11 16:36:50 +00:00