Commit Graph

38454 Commits

Author SHA1 Message Date
Joerg Bornemann
9e97d64ccd Fix installation of .pdb files for applications that have VERSION set
For applications that set VERSION the installation targets of pdb
files were wrong in qmake's nmake Makefile generator.

Replace code that tries to reconstruct that target's versioned
extension with TARGET_EXT which already contains the fully resolved
target extension.

Fixes: QTBUG-74265
Change-Id: I9553a5f70170e077a59c866079ae51647ae80bef
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
2019-03-31 12:45:24 +00:00
Joerg Bornemann
3cdf46059a Let "qmake -install qinstall" set default permissions 0644 and 0755
...like the install commands before Qt 5.9 did.
This ensures consistent permissions. Also, we can throw away the code
that took care of removing and re-adding the read-only flag on Windows.

Change-Id: I06bc3af8817f18c016119fbcb7360800d6c129bd
Fixes: QTBUG-74733
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-03-31 12:44:41 +00:00
Laszlo Agocs
28a264cfe2 Fix alpha blending regression with WA_StacksOnTop QOpenGLWidgets
0bc4288689 in Qt 5.6 introduced support for premultiplied alpha in the
raster-rendered QWidget content. Unfortunately this introduced a
regression for OpenGL content from QOpenGLWidgets with WA_StacksOnTop
set: these used standard alpha blending in 5.5 and earlier, and
switching them to premultiplied (in case the - unrelated - raster
content has a _Premultiplied QImage format) breaks all content that
was done with non-premultiplied alpha in mind, for example the qopenglwidget
example's "Transparent background" checkbox.

Restore the pre-5.6 behavior.

Fixes: QTBUG-74285
Change-Id: I76fcadd53cd436efa2b619b8d6739270995d044f
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2019-03-30 19:22:17 +00:00
Yuhang Zhao
387f120bf9 Fix cross compile on Ubuntu
When cross compiling on Ubuntu with LTO enabled, the linker will complain about the "-fno-fat-objects" parameter even if the "-fuse-linker-plugin" is passed it.
But if the "-fno-fat-objects" parameter is removed, the linker will complain about "don't support linker plugin in this mode".
Remove both parameters can fix this.

Change-Id: I2d792ca70737f2e82a360bfc597f2b110513b954
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2019-03-30 07:34:30 +00:00
Alexey Edelev
20b7e18146 Fix a crash in QHttp2ProtocolHandler in h2c-direct mode
After 'h2c' mode was implemented with the proper protocol
upgrade, the previously working 'direct connection' mode
was lost for clear text connections due to the erroneous
logic in the constructor: having !channel->ssl does not
necessary mean we started with HTTP/1.1 request, including
protocol upgrade header; it can also mean we connected a
plain socket and immediately sending h2 frames, without
any H2 negotiation at all.

Fixes: QTBUG-74765
Change-Id: Ice466d6bffb40048b7ab46fb064f2d3d795a12aa
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2019-03-29 14:31:31 +00:00
Volker Hilsheimer
743e883c12 Blacklist the reverse lookup of 8.8.8.8 to unblock integrations
The DNS entry for the host has changed, dig answers with dns.google,
not with google-public-dns-a.google.com. While developing a proper
fix to the test, blacklisting this particular lookup allows
integrations to pass in the meantime.

Change-Id: Id37da6b24554803bf4e2c84be5b949ded40566e8
Reviewed-by: Kari Oikarinen <kari.oikarinen@qt.io>
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2019-03-29 13:45:47 +00:00
Allan Sandfeld Jensen
ff8d9ad5bc Speculative fix for building on INTEGRITY with ARM NEON
Avoid using inline assembler

Task-number: QTBUG-72716
Change-Id: I696efb5a787416eb4fc5ba3a250461aaa9a4afc2
Reviewed-by: Janne Koskinen <janne.p.koskinen@qt.io>
2019-03-29 13:06:12 +00:00
Kai Koehne
1a707be8b4 Do not look for pg_config, mysql_config in PATH when cross-compiling
Otherwise it can happen that we pick up the tool for the host system,
which will break compilation.

Users can still pass
 -psql_config /path/to/pg_config

or
 -mysql_config /path/to/mysql_config

manually.

[ChangeLog][QtSql] When cross-compiling pg_config, mysql_config
are not looked up in PATH anymore. Pass -psql_config path/to/pg_config
or -mysql_config path/to/mysql_config to explicitly enable PSQL or
MySQL in this setup.

Fixes: QTBUG-73565
Change-Id: I35ff32322bac69f1575ce6c846a56ac2ae3b8d55
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2019-03-29 11:43:19 +00:00
Kai Koehne
54efa7e592 Blacklist qgraphicsitem::sorting test on opensuse-42.3
Task-number: QTBUG-74760
Change-Id: I79bd58e6be61c59e0f1fa48dba0dee72e0a7e78c
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
2019-03-29 07:36:48 +00:00
Rolf Eike Beer
958fa04327 tslib: use new connect syntax
Change-Id: I06bbd681fbb4bf809814de454c266f08976e0916
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2019-03-27 15:36:57 +00:00
Rolf Eike Beer
93466daf13 tslib: avoid deprecated overload
Change-Id: Iab0c25c38d62303986a1f5739cc48de15b35dea2
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2019-03-27 15:36:43 +00:00
Eirik Aavitsland
e20f4d966e Fix stretched fonts with large pixel size
The Windows and Cocoa font engines ignored the stretch factor when
the pixel size is so large that QPainterPath rendering is used
instead of native.

Fixes: QTBUG-14315
Change-Id: I93390528ac264452b7d6af7d39f49f4b0dd56279
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2019-03-27 08:17:25 +00:00
Joerg Bornemann
0ba8ed2c5f Add .lib and .exp files to clean targets only for libraries
There is no point in adding those to applications.

Change-Id: Ic8d3009b5099c266f56b5bdaa831d0816510bc3b
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
2019-03-27 07:39:14 +00:00
Timur Pocheptsov
a868942b11 QMacStyle - workaround NSButtonCell (disclose button type)
Under the 'Dark' theme as a system one, in an application forcing
'Aqua' (and thus 'Light') appearance, disclose button (drawn as
a triangle) can suddenly become transparent (apparently selecting
a 'Dark' codepath internally). Different ways to fix this (attaching
NSButton to a view, setting appearance on this button manually, etc.)
- all seems to have no effect. We resort to manually drawing this
button on macOS > 10.14 if 'effectiveAppearance' is 'Aqua'.

Change-Id: I6f54c0c4cf8fdd1ba53263ba9535e3055be46d42
Fixes: QTBUG-74515
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2019-03-27 05:59:21 +00:00
Tor Arne Vestbø
1a8aa81866 Apple test logger: Handle test log messages without a context
We may get calls to the MessageTypes-overload of addMessage via e.g.
qSkip, or other functions in QTestLog, so we have to implement the
function.

Change-Id: I9d58c73e93ca918c42448c246c37cc9ae6aa04de
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2019-03-26 19:15:26 +00:00
Joerg Bornemann
63156e2062 tst_qmake: Add XFAILing test
Task-number: QTBUG-74265
Change-Id: I916eaf7b64a8777bf2523ddf9da65226d7d06417
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
2019-03-26 06:28:18 +00:00
Yan Shapochnik
2fedce8ed8 QMacStyle: Fix QTabWidget document mode on macOS Mojave dark mode
Fix styling and positioning of QTabWidget tabs on macOS Mojave while
using dark mode

Change-Id: Ibe0c90b7625c4f4ff895083fefaade74305ba0ea
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2019-03-25 15:48:53 +00:00
Yan Shapochnik
efb74002c5 macOS: Use the correct text color for QPalette::ButtonText color role
Fixes the text color displayed in the QToolBar on macOS Mojave dark
mode

Change-Id: Ic4415295e314a8fc1c4fbb58964386e0563b8d44
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2019-03-25 15:48:45 +00:00
Albert Astals Cid
aec284dfc9 Doc: mention what is the suggested replacement for QSignalMapper
Change-Id: I0f230c8b59eae4b2b63a73b8223ed99545be44ec
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
2019-03-25 15:31:58 +00:00
Eskil Abrahamsen Blomfeldt
be6c70ed7f macOS: Don't scale advances to 0 when stretch is AnyStretch
If the stretch is set to AnyStretch, then this is taken to mean
we should accept the font as it is. But on mac, there is a special
code path to scale the advances since the shaper doesn't do it
for us, and this neglected to check the stretch, thus it would
scale the advances by 0%.

This happened when loading a file directly in QRawFont and using
this in a QTextLayout, since no part of the code path will attempt
to calculate the stretch in that case. Reproducible in q3dsviewer
in Qt 3D Runtime 2.3.

Task-number: QT3DS-3132
Change-Id: I8f934f3fac41bf7a93c01cca0416d44003119907
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2019-03-25 06:30:05 +00:00
Joerg Bornemann
d832337667 Fix detection of QMAKE_DEFAULT{INC|LIB}DIRS for gcc cross-builds
The --sysroot flag is added to QMAKE_CXXFLAGS by the gcc-sysroot
feature. However, when the makespec is reloaded, it can overwrite
QMAKE_CXXFLAGS.

Save QMAKE_CXXFLAGS before re-loading the mkspec and add it to the
value from the makespec, like we do for CONFIG.

Fixes: QTBUG-74326
Change-Id: Ie1fb713e2ffc9641d6db8c682bc5175581cd5b5f
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
2019-03-24 07:23:32 +00:00
Friedemann Kleint
2f97a050bc Add explanatory comment to QWindowPrivate::resizeAutomatic
Amends a1c37462ee.

Task-number: QTBUG-74176
Change-Id: I24fa3e5d88e53e7efb8923fb4c55615a4f90abea
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2019-03-22 17:06:20 +00:00
Mårten Nordheim
9e61cec791 Network cache: Stop treating no-cache like no-store
In the QNetworkAccessManager machinery we would treat "no-cache" as if
it meant "don't cache" while in reality it means "don't return these
cached elements without making sure they're up-to-date"

At the same time as this change is made let's add test data for
"no-store", which replaces the "no-cache" test data.

Fixes: QTBUG-71896
Change-Id: Ieda98f3982884ccc839cac2420c777968c786f6e
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Reviewed-by: Mikhail Svetkin <mikhail.svetkin@qt.io>
2019-03-22 13:25:54 +00:00
Albert Astals Cid
85a9009f25 QPixmap: More safe failing if qApp is not a QGuiApplication
It can happen that QDataStream is fed a QVariant that contains a QPixmap
representation, that will make the application crash when trying to
restore it

This is specially important for cases in which applications expose dbus
interfaces with QVariantMaps

Change-Id: Ife4feaef30f30e7e27d88464bd6b2a247f743123
Reported-by: Fabian Vogt <fabian@ritter-vogt.de>
Reviewed-by: Fabian Vogt <fabian@ritter-vogt.de>
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2019-03-22 08:06:43 +00:00
Friedemann Kleint
b01248ebbd Fix tree recursion in QAbstractItemModel::match()
Recurse down the sibling at column 0 of the index instead down the
index.

Change-Id: Ie78d8b28eab7438ca3f83ee0df177115ca82806e
Fixes: QTBUG-73864
Reviewed-by: David Faure <david.faure@kdab.com>
2019-03-22 08:01:35 +00:00
Edward Welbourne
03fadc26e7 Fix broken data for time-zones with no transitions
While an invalid time-zone shall have no transitions, so may various
constant zones, like UTC.  The TZ data may include only the POSIX rule
for such a zone, in which case we should use it, even if there are no
transitions.

Broke out a piece of repeated code as a common method, in the process,
since I was complicating it further.

Added test for the case that revealed this; and made sure we see a
warning if any of the checkOffset() tests gets skipped because its
zone is unsupported.

Fixes: QTBUG-74614
Change-Id: Ic8e039a2a9b3f4e0f567585682a94f4b494b558d
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2019-03-22 07:32:52 +00:00
Edward Welbourne
1119cd4ece Correct a misguided assertion in QTzTimeZonePrivate
Without ICU, the TZ-DB backend for time-zones tripped over an
assertion when running tst_QTimeZone::stressTest(), which happened to
probe a zone between its last transition and the first transition of a
POSIX rule that followed it.  The code assumed there was no interval
between these two; apparently, there can be.

Change-Id: I3d0ad41fec0a255db2f9bfac54d33aa9b83938e8
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2019-03-22 07:32:45 +00:00
Friedemann Kleint
0211774c68 Silence QMainWindow test
Set object names on the widgets in restoreState(), fixing:
QWARN  : tst_QMainWindow::restoreState() QMainWindow::saveState(): 'objectName' not set for QDockWidget 0x7ffcb45e5e00 ';
QWARN  : tst_QMainWindow::restoreState() QMainWindow::saveState(): 'objectName' not set for QToolBar 0x7ffcb45e5dd0 ''
QWARN  : tst_QMainWindow::restoreState() QMainWindow::saveState(): 'objectName' not set for QDockWidget 0x7ffcb45e5e00 ';
QWARN  : tst_QMainWindow::restoreState() QMainWindow::saveState(): 'objectName' not set for QToolBar 0x7ffcb45e5dd0 ''

Task-number: QTBUG-74242
Change-Id: I19f19e93de9df00d001b820a31836ce0b3cd2877
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2019-03-22 07:27:11 +00:00
Kari Oikarinen
7c14233ec6 Bump version
Change-Id: I26f71350c0dee57bc6c765ece411700144100f42
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
2019-03-22 05:35:40 +00:00
Timur Pocheptsov
4d77c37522 QMacStyle - make focus ring less transparent
But only for the 'Light' theme. For "Dark" the system
color fits well (without our rather strange and random
0.5 we set for some reason).

Change-Id: Ic5c8372913515611a567090f82852ffc7ca14eb7
Fixes: QTBUG-74095
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2019-03-22 05:10:08 +00:00
Thiago Macieira
66fc17eb5c Examples: properly parse more than one element in maps and lists
Change-Id: I46363e5b8944459e8c48fffd158c03bca4b7394e
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2019-03-22 02:08:02 +00:00
Thiago Macieira
7148dfc67f Accept that glibc's statx() falls back for us
So we don't need to have a high kernel requirement on its account.

I needed to introduce a configure-time check because we need to include
a header to get the __GLIBC__ macro, but we can't include any header in
assembler until we know it's glibc (we need to know that the header is
assembler-safe). glibc, uClibc and MUSL do provide an assembler-safe
features.h, but Bionic does not.

And we need to know that it's glibc's implementation, since the fallback
was not required. The other three libraries may not implement such a
thing when they get around to adding the system call.

Fixes: QTBUG-74526
Change-Id: I1004b4b819774c4c9296fffd158d14da98bf571c
Reviewed-by: Fabian Vogt <fabian@ritter-vogt.de>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-03-22 02:07:39 +00:00
Andy Shaw
4daf5204ba Cocoa: Clear the shortcut used when hiding a native menu entry
The shortcut needs to be cleared if the native menu entry is being
hidden due to the fact it was changed. Otherwise it will not show the
shortcut anymore as it sees it as in-use.

Change-Id: Ifb10db855766e4de71db06ea006f6d63497f3193
Fixes: QTBUG-74113
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2019-03-21 14:21:49 +00:00
Friedemann Kleint
a1c37462ee Windows: Fix tooltip flicker on GL surfaces
QPlatformWindow::initialGeometry() would assign a default height to
the initial geometry of the QRollEffectClassWindow since it has height
of 0. This causes the obtained geometry to not match and subsequently
a geometry change being sent synchronously.

Introduce a new flag QWindowPrivate::resizeAutomatic similar to the
existing QWindowPrivate::positionAutomatic to prevent assigning a
default size and pass through the geometry as is where required.

Fixes: QTBUG-74176
Change-Id: I70c66490838a2c4dfe200ec86094d28bd984dd03
Reviewed-by: Kati Kankaanpaa <kati.kankaanpaa@qt.io>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2019-03-21 13:39:51 +00:00
Friedemann Kleint
c45f2eab85 Silence the item model tests
Introduce a logging category for the qDebug()-output.

Add a meta type registration for QList<QPersistentModelIndex>, fixing
numerous warnings like:
WARN  : tst_QItemModel::remove(QStandardItemModel:invalid start, valid count 5) QSignalSpy: Unable to handle parameter 'parents' of type 'QList<QPersistentModelIndex>' of method 'layoutChanged', use qRegisterMetaType to register it.

Fix a Clang warning about potential misuse of operator ,

Task-number: QTBUG-73864
Change-Id: I60998403a44f5df8767926951ee13d1ed1e93c37
Reviewed-by: David Faure <david.faure@kdab.com>
2019-03-21 13:39:01 +00:00
Eirik Aavitsland
e8a990c674 Fix aliased font rendering in native xcb mode
Freetype creates 1bpp bitmaps in msb order, while XRender expects lsb
order.

Change-Id: If8dd8e07c424df2d135f56f1ce105ef94963f536
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2019-03-21 13:21:43 +00:00
Eskil Abrahamsen Blomfeldt
12978d4ad0 Android: Support for separate landscape/portrait splash screens
To get appropriate aspect ratios for the splash screen, you usually
need separate drawables for the portrait and landscape versions.

We support this by adding two new meta data entries that can be used.
If they are not available, we will fall back to the generic one,
so we are still compatible with existing AndroidManifest.xmls.

[ChangeLog][Android] Added entries in the AndroidManifest.xml for
specific portrait and landscape splash screens. If one is present
for the current orientation, it will be preferred over the generic
one.

Task-number: QTBUG-74029
Change-Id: I5ffea56320aef85f62f21a59df4d077b4163a65a
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
2019-03-20 13:57:12 +00:00
Eskil Abrahamsen Blomfeldt
26462f9c4c X11PaintEngine: Don't use system clip for non-system painting
When painting into a pixmap, we would apply the system clip,
which is a rectangle that starts at the position of the current
widget relative to the window. If the widget was not positioned
at (0,0), we would therefore clip the top left part of the drawing
when drawing into a pixmap, which is obviously not intentional.

The solution is in accordance with how it is done in e.g. the OpenGL
paint engine, where useSystemClip is set to true only if we are
drawing to a widget. The system clip should otherwise be ignored,
so we do that in the X11 paint engine as well.

Task-number: QTBUG-70387
Change-Id: I9cad26019970280a8a452dc6f1015d229120cac5
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2019-03-20 13:07:00 +00:00
Alexander Volkov
b0145f029c Handle device pixel ratio in QIconLoaderEngine::paint()
QIcon::paint() paints blurry icons on HighDPI screens.
In particular, it is called by QCommonStyle to paint
icons for CE_ItemViewItem's.

Change-Id: Iffe6bd01a8756e617656195ef63fe13c968e0832
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2019-03-20 10:16:42 +00:00
Oliver Wolff
f48a76bbbf Revert "Fix compilation with icc, converting between egl's and gl's Error types"
The patch causes an Assert on close and thus cannot be used as is. I do
not have ICC available to try to come up with an alternative solution so
the patch is reverted for the time being.

This reverts commit 93a78799c3.

Fixes: QTBUG-74467
Change-Id: Ic572dfa667a479686675eb3f9066d133657b4499
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Yuhang Zhao <2546789017@qq.com>
2019-03-20 10:08:14 +00:00
Joerg Bornemann
2abd969ef6 tst_qmake: Keep the source dir clean
Copy the test data into a temporary directory and do all the work there
without tainting the source directory. More importantly, do not pull in
any settings from the Qt build to test what actual users will encounter.

Change-Id: I793b86bfadb7597efb47c8f2d3fc863384c78a79
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
2019-03-20 08:39:55 +00:00
Andy Shaw
c808a6978b Add a means to handle dynamically created qmldir files
This will enable modules like QtWebView which needs to generate its
qmldir at qmake time since it changes depending on whether QtWebEngine
is available or not. This ensures that it is not created in the sources
directory and in the build directory and correctly picked up.

Task-number: QTBUG-65092
Change-Id: Iac628b97145d29778f554510e8e07102d588df64
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2019-03-20 08:37:59 +00:00
Alexander Volkov
7c506150a5 Force font antialiasing with highdpi scaling
Fonts look ugly when they are drawn scaled without
antialiasing.

Change-Id: I64268db5b37d4bc763ffa23632aca2eaac5d8eae
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2019-03-20 10:16:50 +00:00
Timo Aarnipuro
b4b8ea6181 configure: Allow libraries to be defined with exact filename
INTEGRITY compiler searches for exact filename if the -l argument already
contains .a suffix. GNU linker uses exact filename if -l argument begins
with a colon.

Change-Id: I62be8f1e6b9c7dc7eaa5ab3d4bfc55460d729737
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
2019-03-20 07:09:27 +00:00
Yuhang Zhao
75b3c471b3 win32-clang-msvc: qmake.conf: Fix alignment
Change-Id: I62bff5e10c0dfb45078a9ff5a2378f251c6596aa
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2019-03-20 04:04:51 +00:00
Tor Arne Vestbø
2bafd997ee Don't quit when last QWindow is destroyed, wait for it to close
Destroying windows happens independently of closing them, e.g. when
a window is moved from one screen to another non-sibling screen.

The logic for quitting the application should apply to the actual
closing of a window, as documented.

Change-Id: I2226aff29278aa6fbf054a0994a320eb53196e9e
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2019-03-19 19:31:42 +00:00
Andy Shaw
fda57bbb32 QTemporaryFile: Return early if the passed in QFile cannot be opened
Change-Id: I97f00163c24f74d31e1b41ec7337f72600bda2d5
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Mikhail Svetkin <mikhail.svetkin@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2019-03-19 13:35:25 +00:00
Andy Shaw
d2dff76a4f Replace instances of - with _ when generating the function name
As - cannot be used in a function name but can still be used as part of
the TARGET, then we need to make sure that it is replaced to avoid a
compile problem.

Change-Id: I0b2e465310206e2522ce59235b1592517817d3e2
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2019-03-19 13:35:15 +00:00
Tor Arne Vestbø
01e1df90a7 Move screen maintenance functions from QPlatformIntegration to QWSI
QWindowSystemInterface is the de facto API for any plumbing going from
the platform plugin to QtGui. Having the functions as protected members
of QPlatformIntegration was idiosyncratic, and resulted in awkward
workarounds to be able to call the functions from outside of the
QPlatformIntegration subclass.

The functions in QPlatformIntegration have been left in, but deprecated
so that platform plugins outside of qtbase have a chance to move over to
the new QWSI API before they are removed.

Change-Id: I327fec460db6b0faaf0ae2a151c20aa30dbe7182
Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
2019-03-19 13:08:25 +00:00
Andy Shaw
dc75337447 Windows QPA: Make the expected screen be in sync with the geometry changes
When the window moves to a new screen then we should ensure the screen
is updated at that point with the new size so it can account for any
scaling changes.

This reverts f1ec81b543.

Change-Id: I2be3aab677c4677841a07beaaf373f498483b320
Fixes: QTBUG-72504
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2019-03-19 10:41:45 +00:00