summaryrefslogtreecommitdiffstats
path: root/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp
diff options
context:
space:
mode:
authorDavid Edmundson <davidedmundson@kde.org>2024-01-10 23:00:26 +0000
committerDavid Edmundson <davidedmundson@kde.org>2024-01-11 09:03:46 +0000
commitc5aed5ae22f00e4b6c3be7051560b297bc10d941 (patch)
tree1a9e6dffc4ec6fd4f4708b1210567ca1353b707c /src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp
parent12b2327df372dd97f9bc70f60a98cf9ea119d4f3 (diff)
client: Avoid creating decorations in the render thread
createDecoration is called when on the main thread from when window flags change, implicitly from initWindow, and also every handleWindowStatesChanged which will be called when we get the first configure event in an xdg shell. There is no need to create the decoration in QWaylandGLContext::makeCurrent. Any current call to makeCurrent before the platform window is shown will not create a decoration as there's a check for a shell surface. Any call afterwards will have already been handled by initWindow. Similarly the SHM backend store does not need to handle decorations itself. Fixes: QTBUG-105703 Pick-to: 6.7 Pick-to: 6.6 Change-Id: I644cece28277131cf7a65eaa234ff08c8431d544 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
Diffstat (limited to 'src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp')
-rw-r--r--src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp2
1 files changed, 0 insertions, 2 deletions
diff --git a/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp b/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp
index 039ec1a6a..685ad1e4d 100644
--- a/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp
+++ b/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp
@@ -313,8 +313,6 @@ bool QWaylandGLContext::makeCurrent(QPlatformSurface *surface)
if (m_currentWindow->isExposed())
m_currentWindow->setCanResize(false);
- if (m_decorationsContext != EGL_NO_CONTEXT && !m_currentWindow->decoration())
- m_currentWindow->createDecoration();
if (eglSurface == EGL_NO_SURFACE) {
m_currentWindow->updateSurface(true);