diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/auto/client/client/tst_client.cpp | 1 | ||||
-rw-r--r-- | tests/auto/client/shared/coreprotocol.cpp | 11 | ||||
-rw-r--r-- | tests/auto/client/shared/coreprotocol.h | 3 | ||||
-rw-r--r-- | tests/auto/client/xdgdecorationv1/tst_xdgdecorationv1.cpp | 2 | ||||
-rw-r--r-- | tests/manual/import-qml-modules/CMakeLists.txt | 25 | ||||
-rw-r--r-- | tests/manual/import-qml-modules/Main.qml | 18 | ||||
-rw-r--r-- | tests/manual/import-qml-modules/main.cpp | 19 |
7 files changed, 75 insertions, 4 deletions
diff --git a/tests/auto/client/client/tst_client.cpp b/tests/auto/client/client/tst_client.cpp index 253a98b73..fa4a81e19 100644 --- a/tests/auto/client/client/tst_client.cpp +++ b/tests/auto/client/client/tst_client.cpp @@ -465,7 +465,6 @@ void tst_WaylandClient::mouseDrag() void tst_WaylandClient::dontCrashOnMultipleCommits() { - QSKIP("This test is flaky. See QTBUG-68756."); auto window = new TestWindow(); window->show(); diff --git a/tests/auto/client/shared/coreprotocol.cpp b/tests/auto/client/shared/coreprotocol.cpp index 833ad4b09..5d9c4e9a3 100644 --- a/tests/auto/client/shared/coreprotocol.cpp +++ b/tests/auto/client/shared/coreprotocol.cpp @@ -77,8 +77,10 @@ void Surface::surface_attach(Resource *resource, wl_resource *buffer, int32_t x, m_image = QImage(); } else { QPoint offset(x, y); + if (resource->version() < 5) + m_pending.commitSpecific.attachOffset = offset; + m_pending.buffer = fromResource<Buffer>(buffer); - m_pending.commitSpecific.attachOffset = offset; m_pending.commitSpecific.attached = true; emit attach(buffer, offset); @@ -143,6 +145,13 @@ void Surface::surface_frame(Resource *resource, uint32_t callback) } } +void Surface::surface_offset(Resource *resource, int32_t x, int32_t y) +{ + Q_UNUSED(resource); + QPoint offset(x, y); + m_pending.commitSpecific.attachOffset = offset; +} + bool WlCompositor::isClean() { for (auto *surface : std::as_const(m_surfaces)) { if (!CursorRole::fromSurface(surface)) { diff --git a/tests/auto/client/shared/coreprotocol.h b/tests/auto/client/shared/coreprotocol.h index 0f59441a3..bea39dd13 100644 --- a/tests/auto/client/shared/coreprotocol.h +++ b/tests/auto/client/shared/coreprotocol.h @@ -124,6 +124,7 @@ protected: void surface_set_buffer_scale(Resource *resource, int32_t scale) override; void surface_commit(Resource *resource) override; void surface_frame(Resource *resource, uint32_t callback) override; + void surface_offset(Resource *resource, int32_t x, int32_t y) override; }; class Region : public QtWaylandServer::wl_region @@ -145,7 +146,7 @@ class WlCompositor : public Global, public QtWaylandServer::wl_compositor { Q_OBJECT public: - explicit WlCompositor(CoreCompositor *compositor, int version = 4) + explicit WlCompositor(CoreCompositor *compositor, int version = 6) : QtWaylandServer::wl_compositor(compositor->m_display, version) , m_compositor(compositor) {} diff --git a/tests/auto/client/xdgdecorationv1/tst_xdgdecorationv1.cpp b/tests/auto/client/xdgdecorationv1/tst_xdgdecorationv1.cpp index 54b15b3bf..5ee856944 100644 --- a/tests/auto/client/xdgdecorationv1/tst_xdgdecorationv1.cpp +++ b/tests/auto/client/xdgdecorationv1/tst_xdgdecorationv1.cpp @@ -111,7 +111,7 @@ public: explicit XdgDecorationCompositor() { exec([this] { - m_config.autoConfigure = true; + m_config.autoConfigure = false; add<XdgDecorationManagerV1>(xdgDecorationVersion); }); } diff --git a/tests/manual/import-qml-modules/CMakeLists.txt b/tests/manual/import-qml-modules/CMakeLists.txt new file mode 100644 index 000000000..c99218203 --- /dev/null +++ b/tests/manual/import-qml-modules/CMakeLists.txt @@ -0,0 +1,25 @@ +# Copyright (C) 2024 The Qt Company Ltd. +# SPDX-License-Identifier: BSD-3-Clause + +cmake_minimum_required(VERSION 3.16) + +project(import_wayland_qml_modules VERSION 0.1 LANGUAGES CXX) + +set(CMAKE_CXX_STANDARD_REQUIRED ON) + +find_package(Qt6 6.4 REQUIRED + COMPONENTS + Quick + WaylandCompositor + WaylandCompositorIviapplication + WaylandCompositorPresentationTime + WaylandCompositorWLShell + WaylandCompositorXdgShell +) + +qt_standard_project_setup() + +qt_add_qml_module(import_wayland_qml_modules + URI Qml + QML_FILES Main.qml +) diff --git a/tests/manual/import-qml-modules/Main.qml b/tests/manual/import-qml-modules/Main.qml new file mode 100644 index 000000000..07b8bc482 --- /dev/null +++ b/tests/manual/import-qml-modules/Main.qml @@ -0,0 +1,18 @@ +// Copyright (C) 2024 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only + +import QtQuick +import QtWayland.Compositor.IviApplication +import QtWayland.Compositor.PresentationTime +import QtWayland.Compositor.QtShell +import QtWayland.Compositor.WlShell +import QtWayland.Compositor.XdgShell + + +Item { + property var p1: IviApplication {} + property var p2: PresentationTime {} + property var p3: QtShellChrome {} + property var p4: WlShellSurface {} + property var p5: XdgPopup {} +} diff --git a/tests/manual/import-qml-modules/main.cpp b/tests/manual/import-qml-modules/main.cpp new file mode 100644 index 000000000..1b0b801ff --- /dev/null +++ b/tests/manual/import-qml-modules/main.cpp @@ -0,0 +1,19 @@ +// Copyright (C) 2024 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only + +#include <QtGui/QGuiApplication> +#include <QtQml/QQmlApplicationEngine> + +int main(int argc, char *argv[]) +{ + QGuiApplication app(argc, argv); + + QQmlApplicationEngine engine; + const QUrl url(QStringLiteral("qrc:/Qml/Main.qml")); + QObject::connect( + &engine, &QQmlApplicationEngine::objectCreationFailed, &app, + []() { QCoreApplication::exit(-1); }, Qt::QueuedConnection); + engine.load(url); + + return app.exec(); +} |