From 5a165c60b9b8c4847067cb83b4be7da785d01f93 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sat, 28 Sep 2019 08:17:07 +0100 Subject: gentoo resync : 28.09.2019 --- ...t-no-fake-surfacecreated-destroyed-events.patch | 92 ---------------------- 1 file changed, 92 deletions(-) delete mode 100644 dev-qt/qtwayland/files/qtwayland-5.12.4-client-no-fake-surfacecreated-destroyed-events.patch (limited to 'dev-qt/qtwayland/files/qtwayland-5.12.4-client-no-fake-surfacecreated-destroyed-events.patch') diff --git a/dev-qt/qtwayland/files/qtwayland-5.12.4-client-no-fake-surfacecreated-destroyed-events.patch b/dev-qt/qtwayland/files/qtwayland-5.12.4-client-no-fake-surfacecreated-destroyed-events.patch deleted file mode 100644 index c358e0f72de0..000000000000 --- a/dev-qt/qtwayland/files/qtwayland-5.12.4-client-no-fake-surfacecreated-destroyed-events.patch +++ /dev/null @@ -1,92 +0,0 @@ -From e6edc73942a76e57e7ac745217092333480f2c64 Mon Sep 17 00:00:00 2001 -From: David Edmundson -Date: Sun, 23 Jun 2019 15:09:51 +0200 -Subject: [PATCH] Client: Don't send fake SurfaceCreated/Destroyed events - -QPlatformSurface relates to the backing store. Not the wl_surface. -They are emitted by QPlatformWindow. - -Due to a previously incorrect usage by KDE developers it was faked to -emit the events when the wl_surface is created/hidden to keep behavior. - -With QtBase a9246c7132a2c8864d3ae6cebd260bb9ee711fcb this now causes an -issue as now QWidgets react to this event in a breaking way. - -Change-Id: I2f003bc9da85f032a0053677fd281152099fc9eb ---- - .../wayland/custom-extension/client-common/customextension.cpp | 9 +++++++-- - src/client/qwaylandwindow.cpp | 10 ++-------- - src/client/qwaylandwindow_p.h | 2 +- - 3 files changed, 10 insertions(+), 11 deletions(-) - -diff --git a/examples/wayland/custom-extension/client-common/customextension.cpp b/examples/wayland/custom-extension/client-common/customextension.cpp -index aa0cb58a4..16f18fd7a 100644 ---- a/examples/wayland/custom-extension/client-common/customextension.cpp -+++ b/examples/wayland/custom-extension/client-common/customextension.cpp -@@ -81,8 +81,13 @@ QWindow *CustomExtension::windowForSurface(struct ::wl_surface *surface) - - bool CustomExtension::eventFilter(QObject *object, QEvent *event) - { -- if (event->type() == QEvent::PlatformSurface -- && static_cast(event)->surfaceEventType() == QPlatformSurfaceEvent::SurfaceCreated) { -+ if (event->type() == QEvent::Expose) { -+ auto ee = static_cast(event); -+ -+ if ((ee->region().isNull())) { -+ return false; -+ } -+ - QWindow *window = qobject_cast(object); - Q_ASSERT(window); - window->removeEventFilter(this); -diff --git a/src/client/qwaylandwindow.cpp b/src/client/qwaylandwindow.cpp -index ca7c8495c..a6331621d 100644 ---- a/src/client/qwaylandwindow.cpp -+++ b/src/client/qwaylandwindow.cpp -@@ -93,7 +93,7 @@ QWaylandWindow::~QWaylandWindow() - delete mWindowDecoration; - - if (isInitialized()) -- reset(false); -+ reset(); - - const QWindow *parent = window(); - foreach (QWindow *w, QGuiApplication::topLevelWindows()) { -@@ -119,8 +119,6 @@ void QWaylandWindow::initWindow() - - if (!isInitialized()) { - initializeWlSurface(); -- QPlatformSurfaceEvent e(QPlatformSurfaceEvent::SurfaceCreated); -- QGuiApplication::sendEvent(window(), &e); - } - - if (shouldCreateSubSurface()) { -@@ -227,12 +225,8 @@ bool QWaylandWindow::shouldCreateSubSurface() const - return QPlatformWindow::parent() != nullptr; - } - --void QWaylandWindow::reset(bool sendDestroyEvent) -+void QWaylandWindow::reset() - { -- if (isInitialized() && sendDestroyEvent) { -- QPlatformSurfaceEvent e(QPlatformSurfaceEvent::SurfaceAboutToBeDestroyed); -- QGuiApplication::sendEvent(window(), &e); -- } - delete mShellSurface; - mShellSurface = nullptr; - delete mSubSurfaceWindow; -diff --git a/src/client/qwaylandwindow_p.h b/src/client/qwaylandwindow_p.h -index 121ad8219..ba69fd9dc 100644 ---- a/src/client/qwaylandwindow_p.h -+++ b/src/client/qwaylandwindow_p.h -@@ -263,7 +263,7 @@ private: - void initializeWlSurface(); - bool shouldCreateShellSurface() const; - bool shouldCreateSubSurface() const; -- void reset(bool sendDestroyEvent = true); -+ void reset(); - void sendExposeEvent(const QRect &rect); - static void closePopups(QWaylandWindow *parent); - QWaylandScreen *calculateScreenFromSurfaceEvents() const; --- -2.16.3 -- cgit v1.2.3