summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.qmake.conf2
-rw-r--r--dist/changes-5.12.656
-rw-r--r--src/client/qwaylandinputdevice.cpp2
-rw-r--r--src/client/qwaylandwindow.cpp3
4 files changed, 59 insertions, 4 deletions
diff --git a/.qmake.conf b/.qmake.conf
index 2e1d6b7f..8f1500ee 100644
--- a/.qmake.conf
+++ b/.qmake.conf
@@ -1,3 +1,3 @@
load(qt_build_config)
-MODULE_VERSION = 5.12.6
+MODULE_VERSION = 5.12.7
diff --git a/dist/changes-5.12.6 b/dist/changes-5.12.6
new file mode 100644
index 00000000..7d67fe14
--- /dev/null
+++ b/dist/changes-5.12.6
@@ -0,0 +1,56 @@
+Qt 5.12.6 is a bug-fix release. It maintains both forward and backward
+compatibility (source and binary) with Qt 5.12.0 through 5.12.5.
+
+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.12 series is binary compatible with the 5.11.x series.
+Applications compiled for 5.11 will continue to run with 5.12.
+
+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.
+
+****************************************************************************
+* Compositor *
+****************************************************************************
+
+ - Fixed various rounding errors related to touch and mouse input.
+ - Fixed a crash when trying to maximize an XdgTopLevel with no output.
+
+ - Important Behavior Changes:
+ * Fixed potential memory access violation.
+ Between version 5.11 and 5.12 binary compatibility for the
+ wayland compositor module was broken by increasing the size of
+ various classes. This was unfortunately not visible in public
+ headers. As a consequence, application C++ code allocating or
+ subclassing any of the following classes would have potential
+ memory access violations: QWaylandKeymap, QWaylandQuickOutput,
+ QWaylandQuickSurface, QWaylandIviSurface, QWaylandWlShellSurface,
+ QWaylandXdgSurface, QWaylandXdgSurfaceV5, QWaylandXdgPopupV5,
+ QWaylandXdgSurfaceV6. To mitigate this issue, upgrade Qt to
+ 5.12.6 and recompile all compositor code. Do not run a compositor
+ built with 5.11 or earlier against Qt versions 5.12 or later.
+
+****************************************************************************
+* QPA plugin *
+****************************************************************************
+
+ - Fixed a freeze that happened when starting a drag-and-drop operation
+ without a valid source surface.
+ - Fixed a 100 ms freeze that would occur if applications did not draw
+ after receiving a deliverUpdateRequest().
+ - Fixed touch point position rounding errors.
+ - Fixed a freeze that could happen when showing a window.
+ - Fixed an issue where touch focus would be set to false before all touch
+ points where released.
+ - Fixed touch event touch points sometimes being reordered, which caused
+ issues with QtQuick's MultiPointTouchArea.
+ - Fixed a crash that happened with very long window titles using UTF-16
+ characters.
diff --git a/src/client/qwaylandinputdevice.cpp b/src/client/qwaylandinputdevice.cpp
index 107442da..18eb8915 100644
--- a/src/client/qwaylandinputdevice.cpp
+++ b/src/client/qwaylandinputdevice.cpp
@@ -912,7 +912,7 @@ void QWaylandInputDevice::Touch::touch_cancel()
void QWaylandInputDevice::handleTouchPoint(int id, Qt::TouchPointState state, const QPointF &surfacePosition)
{
auto end = mTouch->mPendingTouchPoints.end();
- auto it = std::find_if(mTouch->mPendingTouchPoints.begin(), end, [id](auto tp){ return tp.id == id; });
+ auto it = std::find_if(mTouch->mPendingTouchPoints.begin(), end, [id](const QWindowSystemInterface::TouchPoint &tp){ return tp.id == id; });
if (it == end) {
it = mTouch->mPendingTouchPoints.insert(end, QWindowSystemInterface::TouchPoint());
it->id = id;
diff --git a/src/client/qwaylandwindow.cpp b/src/client/qwaylandwindow.cpp
index 9e63fa17..7a99363c 100644
--- a/src/client/qwaylandwindow.cpp
+++ b/src/client/qwaylandwindow.cpp
@@ -424,8 +424,7 @@ void QWaylandWindow::setVisible(bool visible)
// QWaylandShmBackingStore::beginPaint().
} else {
sendExposeEvent(QRect());
- if (window()->type() == Qt::Popup)
- closePopups(this);
+ closePopups(this);
reset();
}
}