Commit Graph

41875 Commits

Author SHA1 Message Date
Alexandru Croitor
57abfedf8b configure: Hacky fix to allow re-configuring on android
Make sure that when we call $$qtConfEvaluate("features.shared")
early, the result is not cached via the available key, so that
the value is properly re-evaluated further on when all features
are processed.

Fixes the error message when reconfiguring an Android build
"Unknown feature object shared in expression '!features.shared'."

Amends 4ac872639e

Task-number: QTBUG-79639
Task-number: QTBUG-80096
Change-Id: Ic1cbadac15c34468a9115cc8ec5ea07630185772
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2019-12-16 19:17:47 +01:00
Joerg Bornemann
542d14bd02 Fix "Broken filename passed to function" message for qmake -tp vc
Since commit 9ab043b6 we're checking for invalid file paths passed to
Qt's file system engine. When initializing the deployment tool for VS
projects we accidentally passed a file path containing '\0'. Fix that by
using an infix QString, not QChar.

Change-Id: Ieae066d20ac290354febd420abce68f28649b365
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
2019-12-16 13:28:37 +01:00
Lorn Potter
868ded6d87 wasm: do not use clamp mode for upstream LLVM
Emscripten version 1.39.0 and above are based upon upstream LLVM, which
does not contain BINARYEN_TRAP_MODE

Fixes: QTBUG-80691
Change-Id: I6129f84a31a607c202e13847b50705ef1c809630
Reviewed-by: jian liang <jianliang79@gmail.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2019-12-16 18:31:02 +10:00
Marius Kittler
98f19f0036 Use pkg-config to find libjpeg
Change-Id: I42d877fbca5d746114cc28f8ee4db3e54754cd24
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2019-12-15 19:42:25 +02:00
Christian Ehrlicher
0edd2e39ad Let QItemSelectionModel::columnIntersectsSelection honor the parent
QItemSelectionModel::columnIntersectsSelection() should honor the parent
according to the docs. For rowIntersectsSelection() this was fixed a
long time ago but columnIntersectsSelection() was forgotten.

Sync the both functions and use range-based for loops as a drive-by.

Fixes: QTBUG-80644
Change-Id: Iaf08f85e2225204d1e6564fa4bb0bc826352ed53
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2019-12-14 08:46:37 +01:00
Christian Ehrlicher
4689e198e7 Doc/SQL: update sql driver creation instructions
Fix the links, remove section about Q_ODBC_VERSION_2 - it wasn't there
since Qt5.0.

Change-Id: I571f5c2cf0f0e2df38638299c26814b510d1a8af
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2019-12-14 08:46:14 +01:00
Alexandru Croitor
a3a6f28427 OpenGL: Fix signature of GLDEBUGPROC in qopenglextrafunctions.h
The typedef "QOPENGLF_APIENTRYP" was incompatible to the one
in "src/opengl/qopengldebug.cpp" which used "QOPENGLF_APIENTRY".

Note the misisng "P " ending.

The type is meant to be a function pointer, not a pointer to a
function pointer, so remove the extra P.

Change-Id: I229b73ca8e7367f88a2b48e2728e615605f02da3
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2019-12-13 13:23:19 +01:00
Qt Forward Merge Bot
64f55f2d9e Merge "Merge remote-tracking branch 'origin/5.14.0' into 5.14" 2019-12-13 12:46:24 +01:00
Qt Forward Merge Bot
56b0dabf80 Merge remote-tracking branch 'origin/5.14.0' into 5.14
Change-Id: I03927d2ef75514e4f2633839387806125d8954f1
2019-12-13 12:46:12 +01:00
Tor Arne Vestbø
df69364469 Remove QApplicationPrivate::set_pal
Its purpose was to track the default palette set by the programmer,
but after 8fb881900c this is tracked by the Qt::AA_SetPalette attribute.
The palette itself is always reflected 1:1 in the palette tracked
by QGuiApplicationPrivate::app_pal.

Change-Id: If3e84c8b3ae6070b6c50be7a33adb38799b3f3a5
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2019-12-13 10:10:36 +01:00
Tor Arne Vestbø
072ca960f5 styles example: Set default style up front, and react to style changes
Allows running the example with -style foo or QT_STYLE_OVERRIDE.

No changes to documentation needed.

Change-Id: Id7cef450f13faabd118badde51afb7273439c9fc
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2019-12-12 23:24:29 +01:00
Tor Arne Vestbø
da0e745752 Explicitly polish palette instead of relying on QApplication::setPalette
The only effect calling QApplication::setPalette will have is the polish,
so opt for doing it explicitly instead of the weirdly looking no-op
assignment.

Change-Id: Ia80b3f60e3e513b68c2993ea8417966f9ab6721e
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2019-12-12 23:24:25 +01:00
Tor Arne Vestbø
96d1d44279 Clean up QApplication::style default style construction
Change-Id: I9f01e7cc5fa90fd9b1f5d12c7ce694c231158c32
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2019-12-12 23:24:21 +01:00
Tor Arne Vestbø
a9e628e7ec Ensure override style properly clears out previous style if set
QApplication::setStyle has quite a bit of logic to clean up from the
old style before setting a new one. If a style has been set before
the application is created, it's not enough to just delete the existing
style, we need to treat it like a normal style switch.

Change-Id: I2bcc2eb75567bf1bc8a32ac31467b22315a70a0b
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2019-12-12 23:24:17 +01:00
Tor Arne Vestbø
f6a2b81eab Update system palette on application init if needed
A style may have been set before the application was created, which
would have resulted in setting the system palette based on the style's
palette. Once the application is initialized and we have a platform theme
we need to reset the system palette.

Change-Id: Ia48f57d3983535c8633741d8027f75bc0c214018
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2019-12-12 23:24:11 +01:00
Tor Arne Vestbø
6b06f12da6 Unify system palette initialization during style change
We let initSystemPalette() do all the work, instead of leaving the first
time initialization of the system palette to the caller, which makes the
logic harder to follow.

This also means first time initialization of the system palette will
pick up a platform theme if available and resolve the palette using
that, which was missing from the original logic.

Change-Id: I84da557caf8ecedf6d96d87ebee93168ea9d73ba
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2019-12-12 23:24:07 +01:00
Tor Arne Vestbø
14071b5a8e Clarify call to initializeWidgetFontHash in QApplication::setStyle
The call was added in c49c96fbb1, "Reinitialize system palette
when setting a new style", but adding it along with the palette code
seems like a mistake. The potentially dirty widget font hash needs
to be reset for all style changes.

Change-Id: I411f56bb833819213c5485d7585fc5e3e9bd8983
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2019-12-12 17:22:18 +01:00
Tor Arne Vestbø
f733c1c6e7 Xcode: Use output directory as SYMROOT when shadow-building
Setting the CONFIGURATION_BUILD_DIR variable to tell Xcode where to
place the final application bundle confuses Xcode when archiving
a project, and the archive ends up without the dSYM files.

Unfortunately we can't leave it up to Xcode to place the build
artifacts wherever it wants, as Qt Creator's iOS support expects
to find the artifacts in a well-defined place. Until we've taught
Qt Creator to find the artifacts for deployment where Xcode placed
them we need to keep this logic.

We now avoid setting the CONFIGURATION_BUILD_DIR variable unless we
really need to due to in-source builds. As long as we're dealing with
a shadow-build it's okey to set SYMROOT.

Change-Id: I9661c1c57725dc8ba5a21f8467b8b61834f2e64d
Fixes: QTBUG-74841
Task-number: QTBUG-52474
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2019-12-12 14:56:31 +01:00
Andy Shaw
1dca7087e9 Account for when qtquickcompiler is used when getting the resources
When passing the resources used to the android deployment setting json
file it needs to check the variable generated by the qtquickcompiler
feature so that it can still find the qrc files originally populated in
the resources. This ensures that qmlimportscanner can still scan the
original qrc files when determining which QML import plugins are
needed.

Fixes: QTBUG-80713
Change-Id: I695b289eaaa78cc6c355fa8abd22a8a1031a9f6c
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2019-12-12 09:55:55 +01:00
Thiago Macieira
c496fee2a5 qSwap: suppress pedantic warning about noexcept being false
This warning is not in -Wall or -Wextra, but it happens in a single
place, so we can reasonably suppress it.

Fixes: QTBUG-79138
Change-Id: Ib5d667bf77a740c28d2efffd15ccb3f62cf8f431
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2019-12-12 00:26:06 -07:00
Nico Vertriest
5a660353ed Doc: Fix qdoc compilation errors qtbase
Task-number: QTBUG-79824
Change-Id: I6557de598de1931fc30556951d35783d02b83abe
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2019-12-12 07:14:50 +01:00
Michael Dippold
3162345670 Support both qrc and qml files for qmlimportscanner
Some projects can be configured to have both qrcFiles and qml-root-path
included in the deployment settings file. The addition to qrc scanning
prevented the qml root directory from being scanned.

Change-Id: Idadb62f5572be45d0083294440bdb29740c2c47e
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
2019-12-11 11:14:47 -08:00
Fabian Kosmale
c15d6a155c QVariant: introduce ShouldDeleteVariantData flag
This flag is used in QSequentialIterable and QAssociativeIterable to indicate
that the data pointer in VariantData should be deleted after the variant has
been constructed.

The use case for this is
https://codereview.qt-project.org/c/qt/qtdeclarative/+/284151, where we have
a proxy iterator and cannot easily return a pointer to already owned data, as
it is hard to manage its lifetime in the iterator. In contrast, it is clear
that we can release the memory in the QSequentialIterable functions, as it has
already been copied into the QVariant there.

Change-Id: I2b33497d991cd4f752153e0ebda767b82e4bb851
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2019-12-11 20:12:23 +01:00
Christian Ehrlicher
07838840e8 Doc/SQL: update sql driver creation instructions
Update the instructions on how to build and distribute the mysql and
postgresql drivers on windows.

Change-Id: Ie4d50c1c34820680d7496b9544eb00fcee17f8e7
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
2019-12-11 18:11:56 +00:00
Andy Shaw
a7108ec6cf Fix CVE-2019-19244 in SQLite
Fixes: QTBUG-80635
Change-Id: I718349e28ec76ea164dd50f2a985f2074dd6bdbd
Reviewed-by: Jesus Fernandez <jsfdez@gmail.com>
2019-12-11 11:21:46 +01:00
Thiago Macieira
a77fdc9847 Doc: remove the claim that zero timers execute after GUI events
This ties our hands on what we can do in our implementations. I don't
care if you've depended on this in your code. It was wrong.

Fixes: QTBUG-80600
Change-Id: I568dea4813b448fe9ba6fffd15de8865a27f0a35
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2019-12-10 20:24:29 -08:00
Thiago Macieira
6bef90f3cf QTest::toString(QBitArray): fix Mismatched free() / delete / delete []
==8015== Mismatched free() / delete / delete []
==8015==    at 0x483958B: operator delete[](void*) (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==8015==    by 0x48752D6: QTestResult::compare(bool, char const*, char*, char*, char const*, char const*, char const*, int) (qtestresult.cpp:356)
==8015==  Address 0x602eb30 is 0 bytes inside a block of size 12 alloc'd
==8015==    at 0x483777F: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==8015==    by 0x44AAE2: char* QTest::toString<QBitArray>(QBitArray const&) (qtest.h:98)
==8015==    by 0x44D212: bool QTest::qCompare<QBitArray>(QBitArray const&, QBitArray const&, char const*, char const*, char const*, int) (qtestcase.h:352)

Change-Id: Ia2aa807ffa8a4c798425fffd15dabfebfd63fdbd
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2019-12-10 20:24:14 -08:00
Robert Szefner
6ffedc07a7 PSQL: Optimize QPSQLResult::data() function for date and time types
Minor performance optimalizations:
- No need to check if the date and time are correct because the QDate,
  QTime and QDateTime parsing functions already perform these checks
- No need to add minute part to the UTC offset before parsing the date,
  because the QDateTime class can parse time zone offset both in form
  ±hh:mm and ±hh

Change-Id: Id74b7ae075135c5c8cf420247c49b5f12fe88899
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2019-12-10 21:21:34 +01:00
Lorn Potter
382f1a221b wasm: fix getOpenFileContent doc
The callback should be named the same as the function expects

Change-Id: I4ca73958313c93c0d68e7205d8641c4104247e0c
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2019-12-11 06:06:51 +10:00
Lorn Potter
93d261b965 wasm: enforce emscripten version
This creates a define in the binary, as well as writing emscripten
version for qmake.

It also enforces app builder to use a certain known version.

Task-number: QTBUG-77745
Change-Id: I37691512171635cec66aa3ffa16258081f3f1e1b
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2019-12-11 06:06:45 +10:00
Edward Welbourne
bf65c27789 Fix more mis-handling of spaces in ISO date format strings
ISO date format doesn't allow spaces within a date, although 3339 does
allow a space to replace the T between date and time. Sixteen tests
added to check this all failed. So clean up the handling of spaces in
the parsing of ISO date-time strings.

[ChangeLog][QtCore][QDateTime] ISO 8601: parsing of dates now requires
a punctuator as separator (it previously allowed any non-digit;
officially only a dash should be allowed) and parsing of date-times no
longer tolerates spaces in the numeric fields: an internal space is
only allowed in an ISO 8601 date-time as replacement for the T between
date and time.

Change-Id: I24d110e71d416ecef74e196d5ee270b59d1bd813
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2019-12-10 17:26:02 +01:00
Joerg Bornemann
c5777ad81c Fix calls to qtFlattenResources from outside resources.prf
The xml_escape function must be part of resources_functions.prf, and the
qmake_immediate resource must not be created multiple times. Instead,
create another qmake_immediate resource with a number suffix.

This commit amends 577b6554.

Task-number: QTBUG-79672
Change-Id: Ibbe20c0fd1940f1fe7733cd1e5b0891f65689782
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
2019-12-10 16:13:51 +01:00
Samuel Gaist
42aa740df7 rcc: Fix namespace handling for initializer
rcc currently always writes the namespace mangling macros in both the
initializer constructor and destructor. This patch add the missing
handling of the --namespace option for that part of the generated code.

[ChangeLog][Tools][rcc] rcc now generates correct code when using the
--namespace option.

Change-Id: I7e5e608eb0ad267d11d601fc69c1a87d3f655a6e
Fixes: QTBUG-80649
Reviewed-by: hjk <hjk@qt.io>
2019-12-10 13:30:31 +01:00
Christian Ehrlicher
5231c26a82 tst_QSqlQuery: fix some tests
Fix some tests in tst_QSqlQuery:
 - make sure to use QSql::HighPrecision in tst_QSqlQuery::precision()
   (needed for psql)
 - remove outdated stuff for mysql 3.x
 - psql_bindWithDoubleColonCastOperator: the placeholder are stored as
   named placeholders in psql
 - avoid some useless old-style casts

Change-Id: I54d29a7e24f17d853cce6baa09a67d9278098810
Reviewed-by: Robert Szefner <robertsz27@interia.pl>
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
2019-12-10 06:27:09 +01:00
Andre de la Rocha
b209270825 Windows QPA: Export "checkable" info for menu items through UI Automation
In order to allow screen readers to say checked/unchecked for checkable
menu items, this information has to be provided through UI Automation.
Checkable menu items should implement the "Toggle" UI Automation pattern.
The "checkable" state must also be supported by QAccessibleMenuItem, which
is being added by a separated change.

Task-number: QTBUG-80551
Change-Id: I661668310d1b6b4701d0c0efdb1dcfd15d0db729
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2019-12-10 05:46:45 +01:00
Andre de la Rocha
e40e82ede1 Add "checkable" state to accessible menu item
The information about whether a menu item may be checked is necessary
to allow the platform code (in particular, Windows UI Automation layer)
to make this information available to screen readers.

Task-number: QTBUG-80551
Change-Id: Ibfcc4f2da1ebc68e7dc5df2cd46bbfc0a177da12
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2019-12-10 05:45:51 +01:00
Lorn Potter
73fada6d70 wasm: Fix clamp mode
Clamp mode was being obliterated by not appending to EMCC_COMMON_LFLAGS
This fixes crashes of integer overflow

Change-Id: Icae757a7189de25db5ed41df6d41d86304c39830
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2019-12-10 09:57:21 +10:00
Tor Arne Vestbø
c3bd5ffdc8 Don't wrap feature detection macros with QT_HAS_FOO() variants
Using wrappers for these macros is problematic when for example passing the
-frewrite-includes flag to preprocess sources before shipping off to distcc
or Icecream. It will also start producing warnings when compilers implement
http://eel.is/c++draft/cpp.cond#7.sentence-2. See for example
https://reviews.llvm.org/D49091

Both https://clang.llvm.org/docs/LanguageExtensions.html and the SD-6 document at
https://isocpp.org/std/standing-documents/sd-6-sg10-feature-test-recommendations
recommend defining '__has_foo(x) 0' as a fallback for compilers without the
macros, so that's what we go for.

Change-Id: I0298cd3b4a6ff6618821e34642a5ddd6728be767
Reviewed-by: Alex Richardson <arichardson.kde@gmail.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2019-12-10 00:48:07 +01:00
Eirik Aavitsland
191ac31598 Modernize shapedclock example
Relying on the hard clipping of QRegion widget masks to create
non-rectangular windows is a solution from a bygone era. The result
looks horrible with today's eyes, particularly on a high-dpi
screen. Update the example to create smooth anti-aliased edges using
translucent window bacground.

Task-number: QTBUG-64229
Change-Id: I8859d61177d2a2dc446632c23f27f42050e0d7c7
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
2019-12-10 00:38:40 +01:00
Eirik Aavitsland
03dc30acca Fix QPushButton style sheet style for overlay (content) image
Unlike comparable widgets like QLabel or QFrame, QPushButton would not
render a content image specified in the stylesheet, unless a border
style was also specified. Fix by explicitly rendering the content
image, if set, in the native-border codepath also.

Although the doc warns about the QPushButton border style having to be
set in order for the background styling to take effect (since the
native border painting otherwise hides it), the previous behavior does
seem unexpected.

Fixes: QTBUG-72029
Change-Id: I8b979b010515dab4dcf2f00344a187c87eeec096
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de>
2019-12-10 00:38:39 +01:00
Edward Welbourne
f16bd40189 Convert some uses of QStringRef to QStringView
There remain QStringRef uses where QString::splitRef() is used.
Requires converting some .count()s to .size()s, as QStringView lacks count();
and some .toInt()s need to be handled by QLocale::c().

Change-Id: If9a49e063d217671ea9335a82e4bf977b7b48be0
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2019-12-09 19:48:07 +01:00
Edward Welbourne
8310981b80 Prefer QDate::startOfDay() over QDateTime(const QDate &)
The latter can be invalid if midnight is skipped by a spring-forward.

Change-Id: Ibf98d165557229f19622774ebf9a27bb0911c7a7
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2019-12-09 19:47:55 +01:00
Christian Ehrlicher
c27123d743 QAbstractItemView: add a note about ToolTipRole in dataChanged()
Qt::ToolTipRole is not honored by dataChanged() which may be a little
bit surprising. Therefore add a small note about this behavior.

Fixes: QTBUG-78726
Change-Id: Ic4361f55e55ab59d5bae2fdb98907a62055604c5
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2019-12-09 18:49:53 +01:00
Christian Ehrlicher
46d21a3b34 QPushButton: fix icon + text layouting in RTL mode
The fusion style did not properly handle the text layouting for a
QPushButton in RTL mode. Also the menu indicator was not adjusted in
this case.
Fix it by calling the base class implementation as QCommonStyle does it
mostly right. Since Fusion does not handle State_On or State_Sunken but
QCommonStyle does, explicitly mask them out.

Fixes: QTBUG-80083
Change-Id: Ide7bf997b4f4a5b61fcb8ea4a1a152122daef1e2
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2019-12-09 18:47:46 +01:00
Joerg Bornemann
485e4a8f0b WebAssembly: Do not use sed directly for wasm_shell.html deployment
Use $$QMAKE_STREAM_EDITOR, instead, which will on Windows expand
to "qmake -install sed" (triggering qmake's own sed implementation)
and otherwise expand to "sed".

Change-Id: I57da5fb3a4f6e5a09ae25c947caa0a10d279b480
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2019-12-09 17:49:19 +01:00
Volker Hilsheimer
baed8534bc Move the tooltip out of the way of very large mouse cursors
Users that have large mouse pointers configured in their settings
can not see tooltips, as they are obscured by the pointer.
Native applications on Windows and macOS have the same problem,
which includes the tooltips for the minimize/maximize/close controls
in the window frame of e.g. Explorer.

Introduce QPlatformCursor::size that returns a value that is based
on the user's settings, or a default value. We can then use that
value to move the tooltip out of the way.

On Windows, the calculation of the cursor size is based on
experimenting with the settings, which are in logical independent
pixels. The placement of the tooltip attempts to keep existing
behavior, and to not end up with a tooltip that's very far away
from the tip of the arrow even for very large mouse cursors.

[ChangeLog][QtWidgets][QToolTip] Make sure that the tooltip
is not obscured by very large mouse pointers on Windows and macOS.

Change-Id: I8e13b7a166bfe8b59cef4765c950f90fefeaef9d
Fixes: QTBUG-79627
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2019-12-09 17:43:22 +01:00
Alexander Volkov
5272c35073 Doc: Clarify ownership of added menu for QMenuBar::addMenu(QMenu *)
Change-Id: Iaafba9557ece36607c86d5be4fbb5e4ac2e459d3
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2019-12-09 19:43:22 +03:00
Alexander Volkov
8339ce2155 Avoid crash in menu that was previously shown as submenu
Reset sloppyState for the previous submenu, so that if it
will be shown as a menu, it will not use an incorrect pointer.

Fixes: QTBUG-80528
Change-Id: If2ba8c3a664983ee76eb90d2c9a8096e2bd0a4e6
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2019-12-09 19:43:22 +03:00
Tor Arne Vestbø
009abcd7b6 QWidget: React to platform surface being created or destroyed
The platform window may create or destroy its surface from other entry
points than the QWidget API, in which case QWidget needs to sync up
its own state to match. In particular WA_WState_Created and the winId
needs to be recomputed.

Fixes: QTBUG-69289
Fixes: QTBUG-77350
Change-Id: I769e58ead3c2efcf8c451c363108848feade9388
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
2019-12-09 17:43:22 +01:00
James McDonnell
e0a43e348c Register the screen pulse event
Future versions of QNX will, by default, require the use of registered
events. Currently, event registration is supported but optional.

Change-Id: Ie45484d5ca9fa832a28ccf08cb1764cf24262dcc
Reviewed-by: Dan Cape <dcape@qnx.com>
Reviewed-by: Samuli Piippo <samuli.piippo@qt.io>
2019-12-09 11:43:22 -05:00