From 590c04803f88a968b4a750c0f420eb314e1fe968 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Tue, 19 Sep 2023 17:09:22 +0100 Subject: gentoo auto-resync : 19:09:2023 - 17:09:22 --- ...5.15.10-QTBUG-95434-convert-cursor-bitmap.patch | 66 ---------------------- ...ix-mouse-stuck-in-pressed-state-after-DnD.patch | 37 ------------ 2 files changed, 103 deletions(-) delete mode 100644 dev-qt/qtwayland/files/qtwayland-5.15.10-QTBUG-95434-convert-cursor-bitmap.patch delete mode 100644 dev-qt/qtwayland/files/qtwayland-5.15.9-fix-mouse-stuck-in-pressed-state-after-DnD.patch (limited to 'dev-qt/qtwayland/files') diff --git a/dev-qt/qtwayland/files/qtwayland-5.15.10-QTBUG-95434-convert-cursor-bitmap.patch b/dev-qt/qtwayland/files/qtwayland-5.15.10-QTBUG-95434-convert-cursor-bitmap.patch deleted file mode 100644 index 7b43ee3b2149..000000000000 --- a/dev-qt/qtwayland/files/qtwayland-5.15.10-QTBUG-95434-convert-cursor-bitmap.patch +++ /dev/null @@ -1,66 +0,0 @@ -From dd5c9e2d894ca94faaeef7dfc3cc4344a7f62640 Mon Sep 17 00:00:00 2001 -From: Michael Weghorn -Date: Mon, 20 Feb 2023 14:02:23 +0100 -Subject: [PATCH] Convert cursor bitmap to supported format - -The 1-bit image formats QImage::Format_Mono and -QImage::Format_MonoLSB used by cursor bitmaps don't have -a corresponding wl_shm_format. - -Therefore, convert to a supported image format as necessary -to make such bitmap cursors work on Wayland as well. - -Fixes: QTBUG-95434 -Change-Id: I402fd870b301ddc01075251b66f2cf7cc1923133 -Reviewed-by: Eskil Abrahamsen Blomfeldt -(cherry picked from commit 45ec1362f8fcb5ade92f4d2d4985b1c24e78c8ba) - -Backport changes: Use Qt::ReturnByValue version for QCursor::mask() and QCursor::bitmap() ---- - src/client/qwaylandcursor.cpp | 23 ++++++++++++++++++++++- - 1 file changed, 22 insertions(+), 1 deletion(-) - -diff --git a/src/client/qwaylandcursor.cpp b/src/client/qwaylandcursor.cpp -index e4eca9d4e..ba76ba2d0 100644 ---- a/src/client/qwaylandcursor.cpp -+++ b/src/client/qwaylandcursor.cpp -@@ -44,6 +44,7 @@ - #include "qwaylandshmbackingstore_p.h" - - #include -+#include - #include - - #include -@@ -250,7 +251,27 @@ QWaylandCursor::QWaylandCursor(QWaylandDisplay *display) - QSharedPointer QWaylandCursor::cursorBitmapBuffer(QWaylandDisplay *display, const QCursor *cursor) - { - Q_ASSERT(cursor->shape() == Qt::BitmapCursor); -- const QImage &img = cursor->pixmap().toImage(); -+ -+ const QBitmap mask = cursor->mask(Qt::ReturnByValue); -+ QImage img; -+ if (cursor->pixmap().isNull()) -+ img = cursor->bitmap(Qt::ReturnByValue).toImage(); -+ else -+ img = cursor->pixmap().toImage(); -+ -+ // convert to supported format if necessary -+ if (!display->shm()->formatSupported(img.format())) { -+ if (mask.isNull()) { -+ img.convertTo(QImage::Format_RGB32); -+ } else { -+ // preserve mask -+ img.convertTo(QImage::Format_ARGB32); -+ QPixmap pixmap = QPixmap::fromImage(img); -+ pixmap.setMask(mask); -+ img = pixmap.toImage(); -+ } -+ } -+ - QSharedPointer buffer(new QWaylandShmBuffer(display, img.size(), img.format())); - memcpy(buffer->image()->bits(), img.bits(), size_t(img.sizeInBytes())); - return buffer; --- -GitLab - diff --git a/dev-qt/qtwayland/files/qtwayland-5.15.9-fix-mouse-stuck-in-pressed-state-after-DnD.patch b/dev-qt/qtwayland/files/qtwayland-5.15.9-fix-mouse-stuck-in-pressed-state-after-DnD.patch deleted file mode 100644 index abeb7f7a1e5d..000000000000 --- a/dev-qt/qtwayland/files/qtwayland-5.15.9-fix-mouse-stuck-in-pressed-state-after-DnD.patch +++ /dev/null @@ -1,37 +0,0 @@ -From f90f19ec0155b82981046509160849f9a3aedd9b Mon Sep 17 00:00:00 2001 -From: Ilya Fedin -Date: Sun, 19 Mar 2023 10:20:11 +0400 -Subject: [PATCH] Client: Fix the mouse being stuck in pressed state after DnD - -I can still reproduce the problem using QtWidgets applications -on KDE Plasma 5.27. Both Windows and macOS QPA have a similar quirk -and they both send a MouseButtonRelease event rather than a MouseMove -event. - -Amends f7a386eeaec8e6314c1be7de5e14e9fe3847f9ba - -Task-number: QTBUG-97037 -Pick-to: 6.5 6.2 5.15 -Change-Id: I864a1cb68b3660d858623f943b3958f7cafbf955 -Reviewed-by: David Edmundson -(cherry picked from commit e3c74961b1c7415fd94678802ad7f8173d0be4c1) ---- - src/client/qwaylandinputdevice.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/client/qwaylandinputdevice.cpp b/src/client/qwaylandinputdevice.cpp -index 9a0fe49d..bc05583a 100644 ---- a/src/client/qwaylandinputdevice.cpp -+++ b/src/client/qwaylandinputdevice.cpp -@@ -845,7 +845,7 @@ void QWaylandInputDevice::Pointer::releaseButtons() - mButtons = Qt::NoButton; - - if (auto *window = focusWindow()) { -- MotionEvent e(focusWindow(), mParent->mTime, mSurfacePos, mGlobalPos, mButtons, mParent->modifiers()); -+ ReleaseEvent e(focusWindow(), mParent->mTime, mSurfacePos, mGlobalPos, mButtons, Qt::NoButton, mParent->modifiers()); - window->handleMouse(mParent, e); - } - } --- -2.40.0 - -- cgit v1.2.3