summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohan Klokkhammer Helsing <johan.helsing@qt.io>2018-02-28 14:12:34 +0100
committerJohan Helsing <johan.helsing@qt.io>2018-04-27 08:30:31 +0000
commit9e57a3615f1ccde467d32cdaf71b02d7b6e72f8a (patch)
treeedfe0cfeabab9ae6ede0d30e8a979b3e79c4c316
parent51b84d998b03cb95b6496e85d804e2788fc122d7 (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.cpp6
-rw-r--r--src/hardwareintegration/client/wayland-egl/qwaylandeglwindow.h3
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;