diff options
author | Johan Klokkhammer Helsing <johan.helsing@qt.io> | 2018-02-28 14:12:34 +0100 |
---|---|---|
committer | Johan Helsing <johan.helsing@qt.io> | 2018-04-27 08:30:31 +0000 |
commit | 9e57a3615f1ccde467d32cdaf71b02d7b6e72f8a (patch) | |
tree | edfe0cfeabab9ae6ede0d30e8a979b3e79c4c316 | |
parent | 51b84d998b03cb95b6496e85d804e2788fc122d7 (diff) |
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 <paul.tvete@qt.io>
(cherry picked from commit 6bd1d22475a10e84f2bcc1eaa25bd7fb259e761b)
Reviewed-by: David Edmundson <davidedmundson@kde.org>
-rw-r--r-- | src/hardwareintegration/client/wayland-egl/qwaylandeglwindow.cpp | 6 | ||||
-rw-r--r-- | src/hardwareintegration/client/wayland-egl/qwaylandeglwindow.h | 3 |
2 files changed, 0 insertions, 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; |