Commit Graph

38829 Commits

Author SHA1 Message Date
Mårten Nordheim
1f451da9d7 Revert "Temporarily skip tst_QSslSocket::resume"
This reverts commit 9a25d27b9d58316dee5d2305135d2d74ad5d51e7.

The QSKIP is no longer needed as the imap server's certificate
was updated

Task-number: QTBUG-76610
Change-Id: I1007ce50d6f7f6258fdeb8894c66678a660b03ca
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2019-07-03 13:04:54 +02:00
Marc Mutz
8d414e6794 Mark QObject::deleteLater() as \threadsafe
Because it is. It's just QCoreApplication::postEvent(), which is thread-safe.

It also _has_ to be, because we recommend to use deleteLater() to delete
QObjects that live in another thread:

Quoting the ~QObject() docs:

> Warning: Deleting a QObject while pending events are waiting to be delivered
> can cause a crash. You must not delete the QObject directly if it exists in
> a different thread than the one currently executing. Use deleteLater()
> instead, which will cause the event loop to delete the object after all
> pending events have been delivered to it.

If deleteLater() is not thread-safe, it cannot be used for one of its intended
purposes.

Change-Id: I333d506b42bdfcdff00fe6cefa234c21865625a6
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2019-07-03 09:03:24 +00:00
Marc Mutz
fb35359226 [docs] Fix issues in QRect/QMargin API docs
- Fix grammar in op-(QRect, QMargin)
- Correct shunk for grown in op-(QRectF, QMarginsF)

Change-Id: Ia0dbd933cc9f6ed5e0dad05a27794c1135c794ed
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2019-07-03 09:01:52 +00:00
Volker Hilsheimer
833519f2de Fix compiler warnings when building with DEBUG defines set
Change-Id: I51fc7aae246916e585b21b4e7da1fc5a4ac392fd
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2019-07-02 23:30:42 +02:00
Dimitrios Apostolou
24b9424adc Skip flaky test on MacOS_10_12
This is the most flaky-pass test currently.
It fails the first time it is run on MacOS_10_12, but
succeeds all the following times.
This happens extremely often, so disable it until the issue
is resolved.

Task-number: QTBUG-76566
Change-Id: I94359eceb91c3b958930424e6c8b5957fb3f1252
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2019-07-02 16:38:21 +02:00
Volker Hilsheimer
555661b625 Update visible window's alpha when toggling WA_TranslucentBackground
QWidgetPrivate::updateIsTranslucent sets the surface format of the
window with the alpha based on the translucency attribute, so we need
to call this function when the attribute value changes. The test can
confirm that the window's requested surface format has changed, we
can't rely on what is actually set, and don't have to rely on
hard-coded values like 8bit alpha.

While WA_NoSystemBackground needs to be set for WA_TranslucentBackground
to have an effect, we can't clear the attribute when clearing
translucency (as it might have been set explicitly).

Change-Id: I238d6930b7e0488397467a4e035b5f530566a1ff
Fixes: QTBUG-60822
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2019-07-02 16:35:18 +02:00
Mårten Nordheim
1eeab2d27f QSocks5SocketEngine: account for in-transit signal when waiting for read
When calling waitFor{ReadyRead,Disconnected} it will wait for data but
if the data is already received and the read notification has been
queued (and there's no more data coming in) it will return false.

By checking if a read notification has been queued and then handling
this we can easily take care of this scenario.

Fixes some flaky tests which missed the read data in waitForDisconnect
and similar.

Fixes: QTBUG-38385
Change-Id: Ic05d59883c1175783e56ff1822b6636c35aec874
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2019-07-02 16:05:15 +02:00
Mårten Nordheim
5e0a45e932 QSocks5SocketEngine: pass data to application when connected
If we end up in the connected state then we should pass on any
remaining data immediately instead of waiting until the next time we get
a read notification.

The other `case`s in the switch might be able to do something similar,
but I don't want to introduce that logic now in case it breaks something
else, the Connected branch is small and simple to deal with.

Should severely reduce flakiness with socks proxy in CI under pressure.

Task-number: QTBUG-76367
Change-Id: I0965d4c62a29a25ce6b8dd60862a464279aef0b4
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Reviewed-by: Ryan Chu <ryan.chu@qt.io>
2019-07-02 16:05:07 +02:00
Joerg Bornemann
cee5a11bdb Fix directory separator of QMAKE_INCDIR_VULKAN
Like in Qt code itself we should use forward slashes consistently.

This enables the vulkan test to run on Linux for MinGW
cross-compilation.

Task-number: QTBUG-76660
Change-Id: Ifc6dec11bac3c3769d5d06e49da529f66f7b5843
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
2019-07-02 08:02:53 +02:00
Frederik Gladhorn
cafcab5263 Bump version
Change-Id: Ic4a8c031d1de3dd887fb6f135035ccb2ec9a37b3
2019-07-01 16:01:19 +02:00
Thiago Macieira
5d7e221bbf QRandomGenerator: assert that bounded() calls have correct arguments
Otherwise, the math will fail badly. Documentation improved to reflect
reality.

Change-Id: I9e3d261ad9bf41cfb2b6fffd159085cd38e3c388
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2019-06-28 23:05:57 -07:00
Joerg Bornemann
57eed823e4 Fix build with Android NDK's make on Windows
The make executable that comes with Android's NDK tries to execute the
shell-builtin "move" as a stand-alone executable unless you trick it
to execute "move" through the shell by surrounding one argument with
double quotes or such.

Force the execution of "move" through shell by altering QMAKE_MOVE for
Android on Windows.

Change-Id: I5b1490ad0606960dbd06a4cafb0b0b983e265159
Fixes: QTBUG-35713
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
2019-06-28 15:13:34 +02:00
Vova Mshanetskiy
346f1999f5 QAndroidInputContext: Generate a QInputMethodEvent in reset()
Although QPlatformInputContext::reset() documentation says that reset()
should not send any QInputMethodEvents, implementations on Windows,
macOS and iOS do send a QInputMethodEvent which clears preedit text in
their reimplementations of reset(). Text editing controls depend on that
and may not clear preedit text if such event is not sent.

Change-Id: I75ab73946cb06e93e5fc5e98e0cc503a7de5c2e0
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2019-06-28 12:38:18 +00:00
Vova Mshanetskiy
2c61b4e0f0 QAndroidInputContext: Do not stop composing when user taps the cursor
There is no need to tell the editor to stop composing if user taps so
close to the cursor position that the cursor will not move anyway. If we
do stop composing in such case, then since there will be no cursor
position change notification, we will never start composing again
(before the cursor is actually moved), and the current composing region
will remain being displayed as normal text instead of being displayed as
composing text.

Change-Id: I4ebe6442e1ba8c365d6754c1a8487235d177c732
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2019-06-28 15:38:04 +03:00
Vova Mshanetskiy
399bf44577 QAndroidInputContext: Consider preedit text in getCursorCapsMode()
Fixes auto-capitalization in AnySoftKeyboard. It was typing the whole
first word in a sentence in upper case.

Change-Id: I605a1aee39d432a3474c0bf706445d354562285f
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2019-06-28 15:37:47 +03:00
Mårten Nordheim
e19d93b212 QSocks5SocketEngine: avoid dereferencing null-pointer
The header argument is optional

Change-Id: I035e11db5ee70183274afb48ba67c4d3ed2f615d
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2019-06-28 12:54:43 +02:00
Joni Poikelin
d1141b6c90 Fix crash with drag cursor handling
7a7c722782 caused a regresssion in some
cases.

Change-Id: I1089a79534d811b195de663ff664d9ba5a6ac6c5
Fixes: QTBUG-74110
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2019-06-28 12:37:16 +02:00
BogDan Vatra
1e4dec12d5 Android: Stick with buildToolsVersion 28.0.3
On Windows buildToolsVersion 29.0.0 have problems, therefore,
it's better to use a version that we know it works on all platofrms.

Change-Id: I25cdea4b8101bfe5f022025fcd7cc4cbf358fa03
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2019-06-28 12:03:29 +03:00
Volker Hilsheimer
2a756e294e macOS: lower the splash screen when a modal dialog blocks it
This fixes the usability issue of a modal dialog showing up behind a
splash screen, not visible to the user, but blocking user input and the
application startup sequence until discarded.

[ChangeLog][QtWidgets][QSlashScreen] On macOS, lower the splash screen
when a modal dialog is shown to make sure the user sees the dialog.

Change-Id: Ibae768f76909d930cb25dcf5cee31edc5f15c29a
Fixes: QTBUG-49576
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2019-06-26 15:49:01 +00:00
Aleix Pol
cc13b99781 Do not downscale png when the size is exactly right
Don't go through the doScaledRead path (i.e. calling read_image_scaled)
when reading an image that the target size is the image of the file we
are opening.
This makes the loading of the file much faster while keeping the output
correct.

[ChangeLog][QtGui][QImage] Improve loading time when loading png files
that have the same size as the target.

Change-Id: I2a33c49fe1ce52ec296c2175ee542b5bcdec2c4b
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
2019-06-26 16:21:45 +02:00
Mårten Nordheim
89655525ae QHttpNetworkConnection: Change assert to early return and handle Http2
When using a http proxy (and presumably other proxies) we might have
failed/aborted (aka "finished") the request and _then_ receive a
"proxy authentication required" message from the proxy. In this case
there is no spdy/http2 reply in the queue, so asserting is wrong.

Change-Id: Id9b76b580299f6a6cd6efad62d6aaf63183816fb
Fixes: QTBUG-76426
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2019-06-25 17:20:35 +02:00
Mårten Nordheim
e211697962 QHttpNetworkConnectionChannel: don't close if we're already closing
In some scenarios with QNAM we call socket->close, leading to a flush,
leading to an error, leading to another error emission... To work
around this scenario we stop trying to close the socket if the network
channel is already closing.

Change-Id: Id15504f476484ce61f11ba83a5755ceb5f581f9b
Fixes: QTBUG-76567
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2019-06-24 19:11:04 +02:00
Tor Arne Vestbø
44d9e9b096 Fix crash when setting QGuiApplication palette before app is available
Change-Id: Ia154f66a27cba970d179f100e66aa2daab01c9fa
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2019-06-25 20:08:15 +02:00
Val Doroshchuk
f6ed603759 ANGLE: Invalidate client window area when resizing swap chain
Inspired by:
https://codereview.appspot.com/6812076/
Resizing a window larger results in the newly exposed region being invalidated
but the old region is treated as valid.
This can result in the old region no longer updating.
Was added to D3D9.

Improving a fix from Filippo Cucchetto:
https://codereview.qt-project.org/c/qt/qtbase/+/195336
and pushing to D3D11.

ifndef protects against compilation error for WinRT.
Invalidate() should be used only for desktop apps.

Task-number: QTBUG-46074
Change-Id: Ie24b8dffe130b970f2362337ac4f9bee666f82b2
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
2019-06-21 12:30:32 +02:00
Joerg Bornemann
18a6c5ebe2 Fix QMAKE_LIBDIR_BCM_HOST for linux-rasp-pi3-g++
The directory must be prepended by = to denote the sysroot.
This amends commit 797f686e.

Change-Id: Ib85c0abc58fce3504ecccef0e223b2618ac9149a
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
2019-06-25 09:42:09 +02:00
Joerg Bornemann
c450e8bd20 Fix .la/.pc replacements if libdir is in QMAKE_DEFAULT_LIBDIRS
We must use the same two-level replacements like for .prl files.
This amends commit d5071a40.

Change-Id: Iea065d01dee61cf2d1ff78640d045c3c76db9ac8
Fixes: QTBUG-76625
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
2019-06-25 09:17:07 +02:00
Johan Klokkhammer Helsing
53da86fe8c Add a QVkConvenience class with vkFormatFromGlFormat
Converts from OpenGL formats to Vulkan formats.

There are commented out lines for the formats in QOpenGLTexture::TextureFormat
for which it was hard to find an unambiguous mapping to vkFormat.

Task-number: QTBUG-75108
Change-Id: I06a7fd8df7d98cef314410ffd79ca9cff6599357
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
(cherry picked from commit b21b07877a)
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
2019-06-21 11:19:58 +02:00
Ulf Hermann
084e17c4e1 Avoid undefined behavior in qjsonwriter.cpp
See comment in qnumeric_p.h:convertDoubleTo for details.

Change-Id: Ifcd13f7f67995af6a60e50ccabe843a855be04ae
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2019-06-20 12:19:00 +02:00
Morten Johan Sørvig
b6ded193ee QHighDpi::fromNativePixels: use correct screen
Calls like
	QHighDpi::fromNativePixels(point, window)

would return device independent coordinates outside any
screen in cases where the window is spanning multiple
screens and the native point was not on the main screen.

Correct this by looking up the correct screen and use
its scale factor and origin when scaling coordinates.

Task-number: QTBUG-73231
Change-Id: I01a3a42f42121b8d9f4ced2bb0fb023d6ae6bfe7
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2019-06-19 15:05:15 +02:00
Tor Arne Vestbø
244ff33119 styles example: Use QImage instead of QPixmap in NorwegianWoodStyle
Using QImage allows creating the style before the application has
been created, and is the more modern API.

No changes to the documentation needed.

Change-Id: Ifa0e5fa1113802fca18fbd45bb3c0a5ba1dbfeab
Reviewed-by: Andreas Aardal Hanssen <andreas@hanssen.name>
2019-06-25 20:08:26 +02:00
Friedemann Kleint
530c6903a4 Brush up Diaglib
Fix most clang warnings about override, nullptr, range-based for loops.

Change-Id: Id47e57adb63a38e2f397a31511b788a2432c97cf
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
2019-06-24 08:56:00 +02:00
Andy Shaw
9be66cb282 Android: Use Android button layout for the DialogButtonBoxLayout hint
Fixes: QTBUG-70045
Change-Id: I9c51e9a769f510a6f14f6e9d78583caf3df15031
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2019-06-18 11:04:22 +00:00
Volker Hilsheimer
0f3f143f6d Fix window shortcuts when a completer popup has focus
The completer popup has focus, making QShortcut direct to it's window
rather than to the window the completer belongs to. As QShortcut handles
the case for Tool windows that have a parent, but doens't do the same
for popups. And they shouldn't be treated the same way, as a context
menu popup for a e.g. text edit should in fact block the text edit's
shortcuts while open.

However, the completer popup is special, in that it explicitly makes the
widget completes for its focusProxy, which is what we can use to fix
this issue.

Change-Id: Ie7177d39668b3af14a1d9e0ee5d93eca9c67c8af
Fixes: QTBUG-4485
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2019-06-25 00:04:15 +02:00
Joerg Bornemann
f6db25962e Add QDebug streaming operator for ProString
This saves us lots of .toQString() and .toQStringList() typing when
qDebug()'ing qmake code.

Change-Id: I037e5e1816f2dcb6a20dec4c275f3d886f155ad5
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
2019-06-24 17:40:07 +02:00
Joerg Bornemann
3a806254fe Fix 'clean' target for MinGW DLLs
'make clean' removed the import libs for DLLs which makes them quite
unusable. Move the import lib removal to the 'distclean' target.

Fixes: QTBUG-51977
Change-Id: I727d520435f88a83a7fb14cb0ad81f8fe7c6d61b
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
2019-06-24 17:18:20 +02:00
Timur Pocheptsov
5b5e8f78fe NSMenuItem/NSMenu - set the submenu properly
... in case the submenu is set from a slot, attached to the aboutToShow()
signal. Normally, with a 'statically' pre-populated menu, we set 'submenu'
property on a menu item from 'updateItem' callback in our menu delegate.
After that, AppKit calls our delegate's willOpen call back and this is
where we emit 'aboutToShow'. Unfortunately, if an application tries to
create a nested menu 'dynamically' at this point, it never becomes 'submenu'
of the item, since 'updateItem' was already handled at this point.

We catch this case in QCocoaMenuItem and call setAttachedItem if needed.

Fixes: QTBUG-76060
Change-Id: I676bf1d8529b9ddbfc90e4dff422b39668b7a5fa
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2019-06-21 15:12:57 +02:00
Christian Ehrlicher
a7cbb8c639 QWidget: fix setTabOrder for compound widgets
81e298a51d fixed a case where the focus
chain was screwed up when the order was already correct. This worked
correctly in most cases but not when the next focus widget of the first
one had Qt::NoFocus.
The optimization check if lastFocusChildOfFirst is the same as second is
thrown away since it now does not longer screw up the focus chain and
the save would only be four pointer assignments.

Fixes: QTBUG-75388
Task-number: QTBUG-10907
Task-number: QTBUG-68393
Task-number: QTBUG-69619
Change-Id: I581ed532156c34ea970123afd063194aab016304
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2019-06-10 13:44:42 +02:00
Mårten Nordheim
a489e11b97 Temporarily skip tst_QSslSocket::resume
Will be reverted once ready

Change-Id: Id03df7dea1dd65579ec83606fddf2a73a45a0d64
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2019-06-24 15:18:48 +02:00
Mårten Nordheim
42f3b18ec9 SSL: Update an about-to-expire certificate
Change-Id: I9e29baf529b74ae33fa0ee7250e5af6b1873e86f
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2019-06-24 15:18:47 +02:00
Thiago Macieira
0e1623158b Fix GCC 9's warning about deprecated violation of Rule of 5
error: implicitly-declared 'QDistanceField& QDistanceField::operator=(const QDistanceField&)' is deprecated [-Werror=deprecated-copy]
note: because 'QDistanceField' has user-provided 'QDistanceField::QDistanceField(const QDistanceField&)'

Change-Id: Ie7ae7616eadf4035bec6fffd15aabc58e99632d9
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
2019-06-23 07:03:38 +00:00
Tor Arne Vestbø
674f4e6cfb QApplication: clarify and unify global static usage
Explain why there are two accessor functions for the global statics,
and use the global statics directly inside qapplication.cpp for
consistency.

Change-Id: Ibf3952052c1d0e780a8aab220a72f05af0c070a5
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2019-06-21 14:22:00 +02:00
Tor Arne Vestbø
ed00e3093b Remove duplicate call to QApplicationPrivate::setPalette_helper
initSystemPalette() already takes care of this.

Change-Id: I6521763a74ec3ec629d9fcf05aa2a7cd71a7f26d
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2019-06-21 14:22:00 +02:00
Tor Arne Vestbø
cbb0295f7b Remove duplicate call to QApplicationPrivate::initializeWidgetPaletteHash()
initSystemPalette() already calls this when there's a platform theme, which
is the only case where initializeWidgetPaletteHash will have an effect.

Change-Id: I814ea2bb17ef40aee769f2c36f8ef4296cfca020
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2019-06-21 14:22:00 +02:00
Tor Arne Vestbø
cea661d395 Squash un-needed qt_init function into callsite
Only uses a single place and avoids following the init logic through
multiple layers when trying to debug it.

Change-Id: I8fc119385edf407f69fb5431dc6584288022a7fe
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2019-06-21 14:22:00 +02:00
Tor Arne Vestbø
d848c3dfea Remove dead code from QApplicationPrivate::setSystemPalette
The code was added in 2005, ifdefed out already, and never used.

Change-Id: Ic5d070dd031665a4429739278851b50646694bf9
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2019-06-21 14:22:00 +02:00
Volker Hilsheimer
cfd2cc91fd Always fill the background of a tabbed QMdiSubWindow
QMacStyle polishes QMdiSubWindows to have autoFillBackground set to
false. If the QMdiSubWindow's widget also doesn't fill the background
(like QLabel), then nobody fills the window in a tabbed QMdiArea, and
the other subwindows show through.

This change makes sure that all pixels are painted in that situations,
using the styled frame.

Fixes: QTBUG-76214
Change-Id: Iae025d15d36a8bc0d0c5838ac43c9d54944bcc83
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2019-06-21 13:09:46 +02:00
Timur Pocheptsov
a22a6c01f8 Revert "tst_qnetworkreply - QSKIP/disable tests that deadlock on Windows"
QSslSocket (OpenSSL backend) does not use mutex/locks during
a handshake, so we re-enable previously skipped tests.
This reverts commit 8c87a1402c.

Change-Id: I994b085f016f0eb18b3ba439a7041ea08cd3577b
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2019-06-21 09:54:09 +02:00
Shawn Rutledge
82da8306bc Deal with multi-display scenarios when positioning menu popups
This is to support rare setups involving an X11 server with multiple
independent displays ("zaphod heads" on which the DISPLAY env var
is different), possibly with multiple outputs forming a virtual desktop
on each display.

QMenu::popup() has been assuming that it should show on the screen where
the mouse cursor is.  That's good most of the time; but with multiple
independent screens, QGuiApplication::screenAt(pos) cannot tell us which
screen to use (it's ambiguous), but rather will choose the first screen
that _could_ contain that position (as documented).  In the example in
QTBUG-76162, the QMenu has been constructed with a QDesktopScreenWidget
as its parent specifically for the purpose of telling it which screen to
pop up on; so we need to respect that.  But QWidgetPrivate::init() sets
the QObject::parent() to null (because the widget isn't actually shown
as a child of the QDesktopScreenWidget), and QWidgetPrivate::create_sys()
sets initialScreenIndex back to -1 to provide freedom to change the
screen later; so QMenu has to remember the screen index for itself.

QMenuBarPrivate::popupAction() searches the siblings of the screen on
which the menubar is claiming to be (rather than all screens on all
displays), to find the screen containing the point at the middle of the
bottom edge of the clicked menubar item.  It then sets initialScreenIndex
so that QMenu::popup() will respect it rather than trying to decide for
itself.

Fixes: QTBUG-76162
Change-Id: I7a8f8e7aa2e9cf5340d446dc12726369ebe2589a
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2019-06-21 11:43:46 +02:00
Allan Sandfeld Jensen
121692e540 Use Xft DPI as basis for HiDPI scaling
GNOME indicates DPI modes by setting high DPI values in Xft.DPI, so
we need to use the forced DPI setting instead of the real DPI, as basis
for QPA pixel density.

Change-Id: I6f25636383b16b89a3d5fe4c904afd079fe001aa
Fixes: QTBUG-74836
Task-number: QTBUG-65424
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2019-06-19 18:02:48 +02:00
Kai Koehne
29670528d8 Qt D-Bus: Document CMake commands
Task-number: QTBUG-72159
Change-Id: I4b2f29a9d976f4b81acef3170b90016d2e8b5ef8
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2019-06-21 11:04:05 +02:00