From 9e57a3615f1ccde467d32cdaf71b02d7b6e72f8a Mon Sep 17 00:00:00 2001 From: Johan Klokkhammer Helsing Date: Wed, 28 Feb 2018 14:12:34 +0100 Subject: Fix crash when calling setVisible for EGL windows twice within one slot The cherry-picked version doesn't include the tests from the original patch. Task-number: QTBUG-63411 Change-Id: I56c367a1801d215e93bf195332272cfee300cdd8 Reviewed-by: Paul Olav Tvete (cherry picked from commit 6bd1d22475a10e84f2bcc1eaa25bd7fb259e761b) Reviewed-by: David Edmundson --- src/hardwareintegration/client/wayland-egl/qwaylandeglwindow.cpp | 6 ------ src/hardwareintegration/client/wayland-egl/qwaylandeglwindow.h | 3 --- 2 files changed, 9 deletions(-) diff --git a/src/hardwareintegration/client/wayland-egl/qwaylandeglwindow.cpp b/src/hardwareintegration/client/wayland-egl/qwaylandeglwindow.cpp index 6b5c53263..20cc8bd9f 100644 --- a/src/hardwareintegration/client/wayland-egl/qwaylandeglwindow.cpp +++ b/src/hardwareintegration/client/wayland-egl/qwaylandeglwindow.cpp @@ -159,12 +159,6 @@ void QWaylandEglWindow::setVisible(bool visible) { QWaylandWindow::setVisible(visible); if (!visible) - QMetaObject::invokeMethod(this, "doInvalidateSurface", Qt::QueuedConnection); -} - -void QWaylandEglWindow::doInvalidateSurface() -{ - if (!window()->isVisible()) invalidateSurface(); } diff --git a/src/hardwareintegration/client/wayland-egl/qwaylandeglwindow.h b/src/hardwareintegration/client/wayland-egl/qwaylandeglwindow.h index e471a8f7c..e257423fa 100644 --- a/src/hardwareintegration/client/wayland-egl/qwaylandeglwindow.h +++ b/src/hardwareintegration/client/wayland-egl/qwaylandeglwindow.h @@ -76,9 +76,6 @@ public: void invalidateSurface() override; void setVisible(bool visible) override; -private Q_SLOTS: - void doInvalidateSurface(); - private: QWaylandEglClientBufferIntegration *m_clientBufferIntegration; struct wl_egl_window *m_waylandEglWindow; -- cgit v1.2.3