summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2019-06-20 16:23:04 +0200
committerQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2019-06-20 16:23:04 +0200
commit37188068b61d55fc82970f90cf3ef9b09044e04c (patch)
treeb8a02020dc262d1c10f592f0270e45056f56622e
parent640d60c4de4137aa9093093fc047dccd37d7eb13 (diff)
parent0c032ab862a77f7c7c7d506f4f4bb24ca250f716 (diff)
Merge "Merge remote-tracking branch 'origin/5.13.0' into 5.13"5.13
-rw-r--r--dist/changes-5.13.0112
-rw-r--r--src/client/qwaylandinputdevice.cpp7
2 files changed, 119 insertions, 0 deletions
diff --git a/dist/changes-5.13.0 b/dist/changes-5.13.0
new file mode 100644
index 00000000..2aa76ba8
--- /dev/null
+++ b/dist/changes-5.13.0
@@ -0,0 +1,112 @@
+Qt 5.13 introduces many new features and improvements as well as bugfixes
+over the 5.12.x series. For more details, refer to the online documentation
+included in this distribution. The documentation is also available online:
+
+https://doc.qt.io/qt-5/index.html
+
+The Qt version 5.13 series is binary compatible with the 5.12.x series.
+Applications compiled for 5.12 will continue to run with 5.13.
+
+Some of the changes listed in this file include issue tracking numbers
+corresponding to tasks in the Qt Bug Tracker:
+
+https://bugreports.qt.io/
+
+Each of these identifiers can be entered in the bug tracker to obtain more
+information about a particular change.
+
+****************************************************************************
+* General *
+****************************************************************************
+
+ - libwayland 1.8.0 is now required.
+ - Code generated by qtwaylandscanner now includes wayland-client-core.h
+ and wayland-server-core.h instead of wayland-client.h and
+ wayland-server.h. This might break source compatibility for code using
+ custom wayland extensions.
+
+****************************************************************************
+* Compositor *
+****************************************************************************
+
+ - [QTBUG-70662] Added QWaylandQuickItem::mapFromSurface which converts
+ points in Wayland surface coordinates to points in QQuickItem
+ coordinates.
+ - Fixed a bug where xdg-shell popups were misplaced when devicePixelRatio
+ was not 1.
+ - QWaylandSurface::destinationSize has been added which returns the size
+ of the surface that will be displayed on the screen in surface
+ coordinates.
+ - Fixed a bug where QWaylandSurface::inputRegionContains would return true
+ for some points outside surfaces with buffer scale > 1.
+ - Fixed a bug which caused ShellSurfaceItems for surfaces with buffer
+ scale > 1 to move too much when resizing interactively.
+ - QWaylandSurface::size has been deprecated. Use bufferSize or
+ destinationSize instead.
+ - Added support for linux-dmabuf-unstable-v1.
+ - Added support for the viewporter Wayland extension.
+ - Added a missing change signal for WaylandQuickItem.compositor.
+ - Added deprecated support for the deprecated the wl_scaler extension.
+ - Fixed a bug where virtual keyboard did not send Enter event to clients.
+
+****************************************************************************
+* QPA plugin *
+****************************************************************************
+
+ - The environment variables, QT_WAYLAND_CLIENT_BUFFER_INTEGRATION and
+ QT_WAYLAND_SERVER_BUFFER_INTEGRATION, now takes precedence over what is
+ communicated through the qt_hardware_integration wayland interface.
+ - The private window decoration API method,
+ QWaylandAbstractDecoration::startResize, now takes Qt::Edges argument
+ instead of a wl_shell_surface_resize enum. This will break window
+ decoration plugins written for older versions of Qt Wayland.
+ - Shell integrations are now features that can be enabled or disabled at
+ build time.
+ - Clients now follow the keyboard key repeat delay and interval configured
+ by the compositor.
+ - Added support for fullscreen-shell unstable v1.
+ - A window menu is now shown when the window decorations are right-clicked
+ (if supported by the compositor).
+ - Minimum and maximum window size is now supported with the xdg-shell and
+ xdg-shell-v6 shell integrations.
+ - xdg-shell (stable and v6) window geometry is now sent every time the
+ window is resized.
+ - Fixed a bug where window decorations were to small for for the content
+ when QT_SCALE_FACTOR was set.
+ - [QTBUG-54786] Fixed a bug where pasting from the clipboard would prefer
+ ASCII over UTF-8, causing loss of special characters.
+ - [QTBUG-68571] Fixed a bug where the DPI of bitmap cursors were not sent
+ to the compositor, leading to the compositor incorrectly scaling the
+ cursor up or down.
+ - [QTBUG-68571] Fixed a bug where bitmap cursor hotspots were off when the
+ screen scale factor was different from the bitmap cursor device pixel
+ ratio.
+ - Fixed a leak of wl_data_offers.
+ - Cursors on high DPI screens are now scaled up if the cursor theme does
+ not have an appropriate high resolution version.
+ - Fixed a bug where QGuiApplication::screens() and primaryScreen() would
+ return initial screens in the reverse order they were added by the
+ compositor. QGuiApplication::primaryScreen() will now return the first
+ output added by the compositor.
+ - Fixed a bug where windows with an OpenGL Core context and window
+ decorations didn't work.
+ - Fixed a build issue where the platform plugin would not be built if the
+ compositor wasn't build.
+ - The non-blocking version of eglSwapBuffers is now used, if supported.
+ This fixed a bug where minimized windows would block the event loop.
+ - Windows that don't get frame callbacks from the compositor within 100 ms
+ are now set as not exposed. This should stop most clients from rendering
+ unnecessary frames to minimized or hidden windows.
+ - Improved startup time by moving key Compose table parsing from startup
+ to the first use (a key was pressed).
+ - Selecting a module via QT_IM_MODULE now works as documented.
+ - Fixed a bug where Ctrl + <some letter> did not work with non-latin
+ keyboard layouts. Other shortcut sequences with non-latin keys not
+ working also have been fixed now.
+ - Fixed a bug where shortcuts with modifiers that change resulting key
+ would not work as expected.
+ - Added support for xdg-output-unstable-v1 version 2. This means
+ QScreen::name(), will now typically return "VGA-1", "WL-1", "DP-2",
+ "HDMI-A-1" and similar instead of "Screen25", "Screen26", "Screen27"
+ etc. (on supported compositors).
+ - Fixed a crash when closing multiple popups at once.
diff --git a/src/client/qwaylandinputdevice.cpp b/src/client/qwaylandinputdevice.cpp
index 39c02d96..7f6f01cd 100644
--- a/src/client/qwaylandinputdevice.cpp
+++ b/src/client/qwaylandinputdevice.cpp
@@ -272,6 +272,10 @@ void QWaylandInputDevice::Pointer::updateCursorTheme()
int pixelSize = cursorSize() * scale;
auto *display = seat()->mQDisplay;
mCursor.theme = display->loadCursorTheme(cursorThemeName(), pixelSize);
+
+ if (!mCursor.theme)
+ return; // A warning has already been printed in loadCursorTheme
+
if (auto *arrow = mCursor.theme->cursorImage(Qt::ArrowCursor)) {
int arrowPixelSize = qMax(arrow->width, arrow->height); // Not all cursor themes are square
while (scale > 1 && arrowPixelSize / scale < cursorSize())
@@ -310,6 +314,9 @@ void QWaylandInputDevice::Pointer::updateCursor()
if (!mCursor.theme || idealCursorScale() != mCursor.themeBufferScale)
updateCursorTheme();
+ if (!mCursor.theme)
+ return;
+
// Set from shape using theme
if (struct ::wl_cursor_image *image = mCursor.theme->cursorImage(shape)) {
struct wl_buffer *buffer = wl_cursor_image_get_buffer(image);