diff options
author | Ahmad Samir <a.samirh78@gmail.com> | 2023-08-22 20:04:04 +0300 |
---|---|---|
committer | Ahmad Samir <a.samirh78@gmail.com> | 2024-02-15 23:33:49 +0200 |
commit | 3fab98d8785ad46a5d70030c47cd657854760bec (patch) | |
tree | 15233c59e29db2239e863531e3f507559e2d67f1 /src | |
parent | d0dc2bb97469a276a76311c65a54873f7caa7df8 (diff) |
Mark the whole repo with QT_NO_CONTEXTLESS_CONNECT
By adding it to the default build flags via .cmake.conf.
tst_primaryselectionv1 and tst_datadevicev1: the connection type needs
to be explicitly set to DirectConnection, otherwise the test fails. The
sender and receiver are the same object, so typically would be in the
same thread. The docs say:
"If the receiver lives in the thread that emits the signal,
Qt::DirectConnection is used."
I suspect because the code is running inside CoreCompositor::exec() the
signaling thread is different from the thread the objects live in, so
leaving the type as AutoConnection when sender/receiver are the same
object doesn't lead to the type becoming DirectConnection.
Task-number: QTBUG-116296
Change-Id: Iad49889134a78fa723973ba6efbc237038f35b82
Reviewed-by: David Edmundson <davidedmundson@kde.org>
Diffstat (limited to 'src')
-rw-r--r-- | src/compositor/extensions/qwaylandquickshellsurfaceitem.cpp | 5 | ||||
-rw-r--r-- | src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp | 5 |
2 files changed, 4 insertions, 6 deletions
diff --git a/src/compositor/extensions/qwaylandquickshellsurfaceitem.cpp b/src/compositor/extensions/qwaylandquickshellsurfaceitem.cpp index 90369c326..cd0ac84f8 100644 --- a/src/compositor/extensions/qwaylandquickshellsurfaceitem.cpp +++ b/src/compositor/extensions/qwaylandquickshellsurfaceitem.cpp @@ -18,9 +18,8 @@ QWaylandQuickShellSurfaceItem *QWaylandQuickShellSurfaceItemPrivate::maybeCreate auto *popupItem = new QWaylandQuickShellSurfaceItem(q); popupItem->setShellSurface(shellSurface); popupItem->setAutoCreatePopupItems(true); - QObject::connect(popupItem, &QWaylandQuickShellSurfaceItem::surfaceDestroyed, [popupItem](){ - popupItem->deleteLater(); - }); + QObject::connect(popupItem, &QWaylandQuickShellSurfaceItem::surfaceDestroyed, + popupItem, &QObject::deleteLater); return popupItem; } diff --git a/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp b/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp index 472ef5fbf..02789b305 100644 --- a/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp +++ b/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp @@ -195,9 +195,8 @@ QWaylandGLContext::QWaylandGLContext(EGLDisplay eglDisplay, QWaylandDisplay *dis const QSurfaceFormat &fmt, QPlatformOpenGLContext *share) : QEGLPlatformContext(fmt, share, eglDisplay), m_display(display) { - m_reconnectionWatcher = QObject::connect(m_display, &QWaylandDisplay::connected, [this]() { - invalidateContext(); - }); + m_reconnectionWatcher = QObject::connect(m_display, &QWaylandDisplay::connected, + m_display, [this] { invalidateContext(); }); switch (format().renderableType()) { case QSurfaceFormat::OpenVG: |