summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* client: Explain what PUBLIC_CODE doesDavid Redondo5 days1-1/+2
| | | | | Change-Id: If7d0954561cecddefada49d7f00359a711bb9e29 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Revert "Revert "QWaylandDisplay: Allow software-only deco and don't init GL ↵Kai Uwe Broulik6 days1-1/+6
| | | | | | | | | | | | | needlessly"" This reverts commit 171e1d0d2761ba64cb15edbd32d02fb50ef57d28. Reason for revert: Cause for test failure has likely been addressed by b9a5ffab93627cfedcead1574c8f0fd010b329b5 Fixes: QTBUG-124284 Fixes: QTBUG-124285 Change-Id: Iedeb1d2800951e549fe4a4846aaaa477cfa497ae Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Remove unused private fieldMoss Heim7 days2-3/+1
| | | | | | | | This causes a build failure under clang 17. Change-Id: I9e256109ec6e7de146334012bce90912d0d4bb62 Reviewed-by: David Edmundson <davidedmundson@kde.org> Reviewed-by: David Redondo <qt@david-redondo.de>
* client: Disentangle platform services and windowmanagerintegrationDavid Redondo11 days10-91/+127
| | | | | | | | | The current state was a bit messy with the platform services being the potentially no initialised qt window manager extension wayland object. Change-Id: Id1f911b75d34fcf70594ca7257b79bf431f0643f Reviewed-by: David Edmundson <davidedmundson@kde.org>
* Correct license for module and plugin filesLucie Gérard2024-05-036-6/+6
| | | | | | | | | | | | | | | | | According to QUIP-18 [1], all module and plugin files should be LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only or LicenseRef-Qt-Commercial OR GPL-3.0-only Also, LGPL and non LGPL should not be mixed in a given directory [1]: https://contribute.qt-project.org/quips/18 Pick-to: 6.7 Task-number: QTBUG-121787 Change-Id: I7ea516b58210764939923fa09ea2ff05c48f5fd2 Reviewed-by: Kai Köhne <kai.koehne@qt.io>
* Change license for tools filesLucie Gérard2024-05-031-1/+1
| | | | | | | | | | | | According to QUIP-18 [1], all tools files should be LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 [1]: https://contribute.qt-project.org/quips/18 Pick-to: 6.7 Task-number: QTBUG-121787 Change-Id: I9a08423046dd325dd267d2390faf8d2eb0c76315 Reviewed-by: Kai Köhne <kai.koehne@qt.io>
* Make wheel operations compatible with xcbInho Lee2024-04-301-2/+4
| | | | | | | | | | On xcb, Alt modifier makes wheel operations horizontal. Fixes: QTBUG-124807 Pick-to: 6.7 6.5 Change-Id: I98cfe14b4df91169a5ff4e777ebe954087747e17 Reviewed-by: Vlad Zahorodnii <vlad.zahorodnii@kde.org> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* qtwaylandscanner: don't track source file locationSamuli Piippo2024-04-291-1/+1
| | | | | | | | | | | Generate source code without information about original location of the source file. Useful for reproducible builds. Task-number: QTBUG-105926 Task-number: QTBUG-105913 Change-Id: I5f9b3f90e6e85c772a92425e7b796a9d63c3c713 Reviewed-by: Ari Parkkila <ari.parkkila@qt.io> Reviewed-by: David Edmundson <davidedmundson@kde.org>
* QWaylandWindow: requestActivate on showKai Uwe Broulik2024-04-264-0/+17
| | | | | | | | | | | | | | For simplicitly, a Wayland compositor typically activates a window when it is mapped. However, it does not necessarily have to and might not want to in order to prevent stealing focus. Inttroduce a requestActivateOnShow() on the shell which is called when showing a window and, in case of XDG Shell, will explicitly request activation (unless Qt::WA_ShowWithoutActivating is set) and make use of the existing XDG Activation infrastructure. Change-Id: I69ab5f2cee4540d5baefa5a266f22dbb165e4192 Reviewed-by: David Edmundson <davidedmundson@kde.org>
* client: implement QWaylandScreen::topLevelAt()Liang Qi2024-04-222-0/+12
| | | | | | | | | | For security reason, Wayland doesn't provide global position for top level windows in most cases. Task-number: QTBUG-113404 Pick-to: 6.7 6.5 6.2 5.15 Change-Id: I2cd11b641fba6582cf96cfbea16f5e598a473db5 Reviewed-by: David Edmundson <davidedmundson@kde.org>
* client: Synthesize enter/leave event for popup in xdg-shell - 2Liang Qi2024-04-221-5/+3
| | | | | | | | | | | | | | | | | This amends 73d35d3117722cef8e94f0d2036c56ad0a5ddae9. We can't depend on QGuiApplication::topLevelAt(). For security reason, Wayland doesn't provide global position for top level windows in most cases. We just synthesize enter/leave event for popup between it and the parent. Task-number: QTBUG-100148 Task-number: QTBUG-113404 Pick-to: 6.7 6.5 6.2 5.15 Change-Id: I9de1d413cdbc43486c1a110df4517750983e4fda Reviewed-by: David Edmundson <davidedmundson@kde.org>
* compositor: fix build without quick - xdg_dialog_v1Liang Qi2024-04-181-1/+1
| | | | | | | This amends 0417a5f34a327be44a50b5164266b9f607776461 . Change-Id: I3e24a138246c2333196296048709e329873d6134 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Make build error less ambiguousEskil Abrahamsen Blomfeldt2024-04-181-1/+1
| | | | | | | | | | | | | The phrasing of the error message caused some confusion when people thought it indicated that QtGui itself was missing from the build. This tries to make it very explicit that it is the wayland-feature which is missing and not QtGui itself. Pick-to: 6.7 Task-number: QTBUG-123489 Change-Id: I8dcdf8bdbb05a379dea3021cec8bf8e7036d55dc Reviewed-by: David Redondo <qt@david-redondo.de> Reviewed-by: Samuli Piippo <samuli.piippo@qt.io>
* Client: Wire up surfaceRoleCreated/Destroyed signalsKai Uwe Broulik2024-04-171-0/+3
| | | | | | | Emit them after creating or destroying the shell surface. Change-Id: Ied54933ca0f0aec25cc288f7cfe191c85b37f543 Reviewed-by: Vlad Zahorodnii <vlad.zahorodnii@kde.org>
* client: Add CMake options to control visibility of generated symbolsDavid Redondo2024-04-152-3/+22
| | | | | | | | | | | | | | | | | Using public-code by default is problematic if multiple libraries contain wayland interface definitions generated with public-code which exports the symbols of the interface definitions from the library. If not all libraries are build against the same protocol version and the symbol is resolved to a version generated from an older version of the protocol, then libwayland will detect a protocol error if a request or event from the newer version is used. This introduces two new options PRIVATE_CODE and PUBLIC_CODE to qt6_generate_wayland_protocol_client_sources which correspond to the wayland-scanner options. For backwards compatibility PUBLIC_CODE is the default. Change-Id: Ia30ec4b83419962b768207d7353c495e11b0268e Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* ShellSurfaceItem: Make sure modal dialogs stay on topPaul Olav Tvete2024-04-121-5/+28
| | | | | | | | | | | | Use the new modal property from ShellSurface, and treat modal dialogs as StaysOnTop. [ChangeLog][QtWaylandCompositor] ShellSurfaceItem will keep modal dialogs on top of other surfaces when using XdgShell. Fixes: QTBUG-118813 Change-Id: Iaa0ca411dc4fec740e0fbe1db523b16b028c4c29 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* compositor: Implement xdg_dialog_v1Paul Olav Tvete2024-04-1212-15/+267
| | | | | | | | | | | Implement xdg_dialog_v1 on the compositor side. This adds a new properties in the QML API: XdgToplevel::modal ShellSurface::modal Task-number: QTBUG-90005 Change-Id: Ie80358bc59c3dabc6e841b65d193c8ca56bacde3 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Revert "QWaylandDisplay: Allow software-only deco and don't init GL needlessly"Eskil Abrahamsen Blomfeldt2024-04-111-6/+1
| | | | | | | | | | | | | | | This reverts commit 3652666c559382f6d575fa4102e132b71a58785f. This optimization causes flakiness in the xdgdecorationv1 test, possibly because it no longer handles the case where the supportsWindowDecoration() function is called before the buffer integration is initialized. So it unfortunately has to be reverted until a better approach can be figured out. Fixes: QTBUG-124259 Change-Id: I05f13a51b22b6779bffba531f08ebfd17a9afb38 Reviewed-by: David Redondo <qt@david-redondo.de>
* Fix out variable in external shaderBernd Weimer2024-04-111-3/+3
| | | | | | | | Output variable gl_FragColor wasn't declared due to a copy-paste error. Pick-to: 6.7 6.6 6.5 Change-Id: I0732953143d9a2315d430e57d8e1a92cca87f542 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Remove unused member in quickitemBernd Weimer2024-04-111-14/+13
| | | | | Change-Id: I5543ace14dbc854e2122c9b31189701cf025df3b Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Client: Close xdg popups using QWSI::handleCloseEvent()Vlad Zahorodnii2024-04-051-1/+1
| | | | | | | | | This shouldn't matter in practice, the main motivation behind this change is to make window closing code consistent both for xdg-toplevels and xdg-popups. Change-Id: I74ef11ddbaf942cb545bb04baf7b35979adde81c Reviewed-by: David Redondo <qt@david-redondo.de>
* Fix xkbcommon dependency for WaylandSeat.sendUnicodeKeyEventInho Lee2024-04-051-5/+4
| | | | | | | | | | | Amends c0d108b5042752359c279b41cc6f055f4f18ec60. Unicode conversions will be done without using QXkbCommon. Pick-to: 6.7 Change-Id: I9d9f94b799179f82912bd1be54431e460c37b363 Reviewed-by: Liang Qi <liang.qi@qt.io> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Client: Use QWindowSystemInterface::handleCloseEvent() to close xdg-toplevelVlad Zahorodnii2024-04-051-1/+1
| | | | | | | | | | | | QWindow::close() will close a window regardless whether it's blocked by a modal dialog. On the other hand, QWindowSystemInterface::handleCloseEvent() will do nothing if a close event is sent to an xdg-toplevel window with a modal dialog. Pick-to: 6.7 Change-Id: I5f18d38d4fdbb5748687ee3537035172df916de9 Reviewed-by: Kai Uwe Broulik <kde@privat.broulik.de> Reviewed-by: David Redondo <qt@david-redondo.de>
* QWaylandDisplay: Allow software-only deco and don't init GL needlesslyKai Uwe Broulik2024-04-021-1/+6
| | | | | | | | | | | | Don't initialize the client buffer integration just to check whether it can do a decoration. If we had a GL window, it would have initialized GL already. Also, we can do software-rendered decorations nowadays, only disable them if the integration explicitly says it can't. Change-Id: I396d32796a10ccffd6ef3bb0c5eaa3a1078b8d79 Reviewed-by: Ilya Fedin <fedin-ilja2010@ya.ru> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Client: Replace a bunch of frameMargins with clientSideMarginsIlya Fedin2024-03-293-5/+5
| | | | | | | | | | | Use it wherever window coordinates should be translated to surface coordinates This also fixes the usage of QWindow::mapFromGlobal which is in wrong coordinate space while handling CSD dragging from pending touch points Change-Id: I66b114610f0e44fea10535594adb5d1284196662 Reviewed-by: David Edmundson <davidedmundson@kde.org>
* client: Implement dialog-v1 protocolDavid Redondo2024-03-277-5/+213
| | | | | | | | Allows to mark windows as modal dialogs. Change-Id: Ie4999552933e02fc473e621e7cc5e3f2928c0adb Reviewed-by: Vlad Zahorodnii <vlad.zahorodnii@kde.org> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Bradient: make drawing coordiantes consistentIlya Fedin2024-03-261-24/+26
| | | | | | | | | | | | Currently some parts of the decoration use surface size (window icon, window controls) while other parts use window content geometry. As backing store paints it from the start of the surface, use surface size everywhere. This is visible when setting custom margins. Change-Id: I22a84fd35bd6e088c30ea265d8cb4af86f14e1a5 Reviewed-by: David Edmundson <davidedmundson@kde.org>
* Use NO_GENERATE_CPP_EXPORTS explicitlyAlexey Edelev2024-03-2512-1/+16
| | | | | | | | | | Use NO_GENERATE_CPP_EXPORTS explicitly for modules that don't need the autogenerated exports header file. Task-number: QTBUG-90492 Change-Id: I3494ac88e136126265e14ef1a380c5ef26def3ef Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Use static_cast rather than dynamic_castLu YaNing2024-03-211-2/+2
| | | | | | | | | | | To avoid RTTI. When I tried to implement the reconnect function in Plasma5, I found that the application would have a dynamic_cast crash problem. Referring to other usage logic and suggestions in Qt, it is recommended to avoid using dynamic_cast. Change-Id: I4fd41846c3215f60aafc7e38d1542d52ec6759b8 Reviewed-by: David Redondo <qt@david-redondo.de>
* Client: Fix the mouse being stuck in pressed state after ↵Ilya Fedin2024-03-203-5/+17
| | | | | | | | | startSystem{Move,Resize} Fixes: QTBUG-97037 Pick-to: 6.7 Change-Id: I812c25b98909f9ff05ffca122e7201665023172e Reviewed-by: David Edmundson <davidedmundson@kde.org>
* scanner: Make it work with mismatching protocol and file nameDavid Redondo2024-03-201-8/+11
| | | | | | | | | | | The names of the files that wayland-scanner generates are based on the protocol file name not the protocol name that is defined in the xml. When those two mismatch qtwaylandscanner would generate code that fails to build. Pick-to: 6.7 Change-Id: Ieecd7a122177530ab1ff890367ce53809a8bb7b9 Reviewed-by: David Edmundson <davidedmundson@kde.org>
* client: Roundtrip in an own queue when exporting window instead of default queueDavid Redondo2024-03-203-9/+11
| | | | | | | | This way no other events will be dispatched which could cause calls into user code when delivering events synchronously. Change-Id: I5c195877388d178832067b5aba6b5f5abd26e099 Reviewed-by: David Edmundson <davidedmundson@kde.org>
* Add GNOME-like client-side decoration pluginJan Grulich2024-03-198-0/+980
| | | | | | | | | | | | | | | | | Adds a client-side decoration plugin implementing GNOME's Adwaita style. This is trying to follow GTK4 Adwaita style, using xdg-desktop-portal to get user's configuration in order to get whether a light or dark colors should be used and to get the titlebar button layout. This plugin is now used on GNOME by default, while defaulting to the original behavior for non-GNOME DEs. It depends on QtSvg used to draw titlebar buttons so in case QtSvg is not found, this plugin will not be build. [ChangeLog][QtWaylandClient][Added GNOME-like client-side decoration plugin] Fixes: QTBUG-120070 Change-Id: I0f1777c4e0aa3467dafbbae8004b594cc82f9aa0 Reviewed-by: David Edmundson <davidedmundson@kde.org>
* TextInputv3: use a serial for each resourceInho Lee2024-03-193-16/+9
| | | | | | | | | | | Each zwp_text_input_v3 object should have their own serial number and it will not be cleared on the same object. Pick-to: 6.7 Change-Id: I779c2ae07f1dab1ae4a7d87e4e183ce33ec804fe Reviewed-by: Liang Qi <liang.qi@qt.io> Reviewed-by: David Edmundson <davidedmundson@kde.org> Reviewed-by: Weng Xuetian <wengxt@gmail.com>
* client: Only use viewport when fractional scaling is in useDavid Edmundson2024-03-141-1/+3
| | | | | | | | | | | | | | | | | Either viewport or wl_buffer.set_scale can be used to notify the compositor that the client has scaled it's contents, with viewport being more flexible and a requirement for fractional scaling. Unfortunately Gnome before 36 announces viewport support, but it does not work correctly. This patch workarounds that by only using the viewporter when we're using fractional scaling otherwise continue using the legacy path. Fixes: QTBUG-122412 Pick-to: 6.7 6.6 Change-Id: I9a01d9456ce91735051f8f53fb4b72add6961fcb Reviewed-by: Liang Qi <liang.qi@qt.io> Reviewed-by: David Redondo <qt@david-redondo.de>
* client: don't cache one type in QWaylandMimeDataLiang Qi2024-03-131-1/+8
| | | | | | | | | | "application/vnd.portal.filetransfer", which is only valid for one time use. Fixes: QTBUG-107858 Pick-to: 6.7 6.6 6.5 6.2 5.15 Change-Id: I094de22ea0bb9b3577572e6c57ebe42cdc8c7b41 Reviewed-by: David Edmundson <davidedmundson@kde.org>
* client: use current modifiers in repeat keysLiang Qi2024-03-102-8/+5
| | | | | | | | | This amends 35880c7e1021a379e3cdd4005edd53472b63856c . Fixes: QTBUG-123007 Pick-to: 6.7 6.6 6.5 6.2 5.15 Change-Id: I3b4e5d4a8304fd57558eec3897562895c294aadd Reviewed-by: David Edmundson <davidedmundson@kde.org>
* Support multi-key for input context pluginJiDe Zhang2024-03-103-21/+35
| | | | | | | | | | Sync from QPlatformInputContextFactory::requested in 8596998cb025a8338c9403f5ef9db5a23f5cc682 of qtbase to QPlatformInputContextFactory. Fixes: QTBUG-120202 Change-Id: Ib15d8a59c4cb3baaa19355ed5d7c30c87a7a1c16 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Make sure XDG_RUNTIME_DIR is createdPaul Olav Tvete2024-03-061-0/+4
| | | | | | | | | | | | | Before Qt 6.5, QGuiApplication would create XDG_RUNTIME_DIR as a side effect of looking up QStandardPaths::writableLocation during platform theme initialization. Since QtWaylandCompositor cannot function without a writable XDG_RUNTIME_DIR, do that lookup when the compositor is constructed. Fixes: QTBUG-122965 Pick-to: 6.7 6.6 6.5 Change-Id: Ia2365f08ba75be276ca7cc5520875c08cc82b465 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* QWaylandShmBackingStore: Don't clear new buffers in beginPaintKai Uwe Broulik2024-03-053-11/+21
| | | | | | | | | QFile::resize done upon creation of the buffer already ensures the buffer is filled with zeroes, so there is no need to paint it transparent if the buffer had just been created. Change-Id: I73ab297f148987acf52a0e08c7dd1ca57f7255be Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Revert "QWaylandDataDevice: Explicitly send null for rejected drag offer"Kai Uwe Broulik2024-03-041-2/+1
| | | | | | | | | This reverts commit 853bbee25514132dfe00ec9d55fbdcb39365926e. Reason for revert: QtWaylandScanner now sends null for a null QString when the argument is declared as allow-null Change-Id: I5b7e23285b300b76dabfd2999ab90e90e7328232 Reviewed-by: David Redondo <qt@david-redondo.de>
* qtwaylandscanner: Send null for a null QString with allow-nullKai Uwe Broulik2024-02-281-7/+13
| | | | | | | | | | | | | | | | `toUtf8().constData()` on a null `QString` results in an empty string sent over the wire, which is distinct from `null` when the request has "allow-null" specified. Notably `wl_data_offer.accept` uses a null mime_type for "not accepted". [ChangeLog][Important Behavior Changes][qtwaylandscanner] String arguments in a request will now send null rather than empty string for a null QString if the argument is declared with "allow-null". Change-Id: I4b78246e4da7b60680d7797fd6309755f44d2bb6 Reviewed-by: David Edmundson <davidedmundson@kde.org>
* Do not create new wl_pointer objects when creating pointer gesturesDavid Redondo2024-02-281-2/+2
| | | | | | | | | | | get_pointer is the method belonging to QtWayland::wl_seat creating new wl_pointer instead of using the already existing one. Since they were tracked nowhere they where also leaked. Pick-to: 6.7 Change-Id: I0b9d1914ea6a9e7b379fad905a319bde5fd7f136 Reviewed-by: Vlad Zahorodnii <vlad.zahorodnii@kde.org> Reviewed-by: David Edmundson <davidedmundson@kde.org>
* client: Always call mShellSurface->setWindowGeometry regardless of exposureDavid Edmundson2024-02-282-2/+3
| | | | | | | | | | | | | | setWindowGeometry is called to tell shell surfaces when the window tries to request a new size. On XdgShell this should not be called before the window is exposed and we are attaching buffers, this check belongs in XdgShell itself as other shells may be using this for other purposes. Pick-to: 6.7 Change-Id: Iae09e71e1b5071fc8c1f3790ec1a260c3d6462ce Reviewed-by: Vlad Zahorodnii <vlad.zahorodnii@kde.org> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* QWaylandDataDevice: Explicitly send null for rejected drag offerKai Uwe Broulik2024-02-221-1/+2
| | | | | | | | | qtwaylandscanner sends an empty string for a null QString but `wl_data_offer.accept` uses null for "not accepted". Pick-to: 6.7 6.6 6.5 Change-Id: I793d4315c9775a4bdc63085231318db8df829c8a Reviewed-by: David Edmundson <davidedmundson@kde.org>
* Client: Emit wlSurfaceDestroyed after actually destroying wl_surfaceVlad Zahorodnii2024-02-201-12/+14
| | | | | | | | | | | | | | | | | | | At the moment, the QWaylandWindow::wlSurfaceDestroyed signal is emitted before destroying the wl_surface object. It's the opposite of its name. Furthermore, the client code in Plasma assumes that the wlSurfaceDestroyed signal is emitted after the wl_surface is gone, but it isn't, which is the source of bugs. Technically, it's an API breaking change. But this ordering issue is quite annoying to deal in the client code and the QWaylandWindow native interface api lives in the Private namespace. [ChangeLog][QtWaylandClient][Important Behavior Changes] The QWaylandWindow::surfaceDestroyed() signal is emitted after actually destroying the wl_surface object. Change-Id: I33e27c06795653d3e20e04a36cb39be8c46797ee Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* client: Support Xdg activation across shell surfacesDavid Edmundson2024-02-201-11/+14
| | | | | | | | | | | | | | | | XDG activation operates on wl_surfaces, which can be used on all shell types. For the case of self activation there is was cast to the xdg shellintegration on the focused window in order to populate the appId. Only this part needs to be guarded, not the whole activation. Pick-to: 6.6 Pick-to: 6.7 Change-Id: If44cc800b7cd98141ba05ba5d1cf0812ef777e7a Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> Reviewed-by: Marco Martin <mart@kde.org> Reviewed-by: David Redondo <qt@david-redondo.de>
* client: Fix xdg shell setting only a minimum size hintDavid Edmundson2024-02-201-4/+5
| | | | | | | | | | | | | | | An unbound maximum size is sent across the protocol as 0. We need to make this change before the check that the minimum size is less than the maximum size. This fixes having only a minimum size set. This bug is currently masked by the platform forcefully applying the minimum size. Pick-to: 6.6 Pick-to: 6.7 Change-Id: Ifca4fa01e4c2ac1c34aeb72db1584e4a868d50bc Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> Reviewed-by: Vlad Zahorodnii <vlad.zahorodnii@kde.org>
* Mark the whole repo with QT_NO_CONTEXTLESS_CONNECTAhmad Samir2024-02-152-6/+4
| | | | | | | | | | | | | | | | | | | | 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>
* QWaylandShmBackingStore: Split buffer preparation into dedicated methodKai Uwe Broulik2024-02-153-15/+11
| | | | | | | | | | | Drop "resize(QRect)" since it is ambiguous with the resize coming from QPlatformBackingStore. This allows to ensure a back buffer from multiple places, such as the upcoming "scroll" support. Change-Id: I43a5ece2d0e25e64b41335ba59b2b8c4ffcfff74 Reviewed-by: David Edmundson <davidedmundson@kde.org>