summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
* client: Mark return values as unused to suppress compiler warningsJanne Juntunen2022-05-112-2/+4
| | | | | | | | | | Return values of two write() functions were ignored, causing warnings which were treated as errors on webOS emulator build. Fixes: QTBUG-103378 Pick-to: 6.3 Change-Id: Ifc2e944dee376973b69220b7f75dc346c0a71e71 Reviewed-by: David Edmundson <davidedmundson@kde.org>
* compositor: Fix build without xkbcommonSamuli Piippo2022-05-101-1/+1
| | | | | | | | | | | This amends 4910b7adfa706520cd5180d5384b999488550aef. QWaylandKeyboardPrivate::resetKeyboardState() is behind an #if. We need to match the condition for the definition as well. Fixes: QTBUG-103341 Change-Id: Ib0b5b6284cac10a0cb5d53fca08e0d7226e7240a Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* compositor: Fix build without xkbcommonEskil Abrahamsen Blomfeldt2022-05-101-0/+4
| | | | | | | | | | | This amends 4910b7adfa706520cd5180d5384b999488550aef. QWaylandKeyboardPrivate::resetKeyboardState() is behind an #if. We need to match the condition for the code that calls it. Fixes: QTBUG-103341 Change-Id: I6337a64870bb08930b0d19e03ca7fcc28e345493 Reviewed-by: Liang Qi <liang.qi@qt.io>
* Fix: Access nullptr returned by QWaylandSurface::client()Roman Genkhel2022-05-101-1/+1
| | | | | | | | | surface()->client() could return null at the moment when QWaylandQuickItem::takeFocus invoked, which cause using nullptr Pick-to: 6.2 6.3 Change-Id: I89432882bd7117f45bac889bc85b2f86c77b21e8 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Compositor: Re-enable touch events for Wayland clientsEskil Abrahamsen Blomfeldt2022-05-041-0/+1
| | | | | | | | | | | | | | | | | | | As documented, setAcceptTouchEvents() would be implicit in calling setAcceptedMouseButtons() in Qt 5, but in Qt 6, this was changed. The result was that QWaylandQuickItems would never receive any touch events in Qt 6, even though the touchEventsEnabled flag is set by default. To fix this, we add an explicit call to setAcceptTouchEvents() to ensure the same behavior as we had in Qt 5. [ChangeLog][QtWaylandCompositor] Fixed a bug where multi-touch would not work with Qt Wayland Compositor. Pick-to: 6.2 6.3 Fixes: QTBUG-102829 Change-Id: Idc99c56a7cc8651da844be3ea238b8537891dd1f Reviewed-by: Liang Qi <liang.qi@qt.io>
* Clear keyboard modifier state when application deactivatesEskil Abrahamsen Blomfeldt2022-05-034-8/+53
| | | | | | | | | | | | | | | | | | | | | | When the application deactivates while a modifier is held down, the modifier would get stuck and be set for all subsequent shortcut events. This could easily happen when nesting a Wayland compositor inside another compositor and using ALT+TAB to switch to another application. The alt modifier would then get stuck, since it never received any release event. When the application is inactive and then comes back, we can't know which keys are pressed, so it's better to just assume they are all cleared at this point. [ChangeLog][QtWaylandCompositor] Fixed a bug where keyboard modifiers would get stuck if the compositor was running nested inside e.g. X11 and then ALT-TAB was used to switch to a different application. This would cause shortcuts to misbehave. Fixes: QTBUG-101862 Change-Id: I9645418719d8ef8fc2ce2203ca5b6a159f3d9a7c Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Allow multiple client buffer integrations to initializeEskil Abrahamsen Blomfeldt2022-05-034-25/+23
| | | | | | | | | | | | | | | | | | | | | | | | | This amends 585f20dce37c398d8b2e6367008e3329dac79e24 where support for multiple client buffer integrations was added. Previously, this would not work unless you also set QT_WAYLAND_IGNORE_BIND_DISPLAY in the environment, because we would fail if eglBindWaylandDisplayWL() returned false, which it will when the display is already bound. Instead, we assume the display is correctly bound when the function returns false, and then we make sure we unbind from the same integration that originally did the bind. The patch adds unbind to the destructor of linux-dmabuf and eglstream integrations. This was previously missing. [ChangeLog][QtWaylandCompositor] Enabled support for multiple client buffer integrations without the need to set the QT_WAYLAND_IGNORE_BIND_DISPLAY environment variable. Fixes: QTBUG-101366 Change-Id: Iefeb865b540d96a55d3be9b9c1fb41bf388638ca Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* QtWaylandClient: use the CMake exports.h supportThiago Macieira2022-04-2861-87/+81
| | | | | | | | | | | | The one in qtwaylandglobal.h was wrong. It just happened to work on Linux because the lack of import wasn't an error... until GCC 12 with -mno-direct-extern-access. Pick-to: 6.3 Change-Id: If05aeeb7176e4f13af9afffd16e8535b469f9158 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* doc: Add missing qml module landing pagesEskil Abrahamsen Blomfeldt2022-04-285-0/+103
| | | | | | | | | | When these are missing, external links to the contents of the modules break. Any \inqmlmodule should always have a corresponding \qmlmodule. Pick-to: 6.3 Fixes: QTBUG-102379 Change-Id: Id800e1ac3976957869f4a521f69f0190fb7eba5a Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Fix deprecated warningAllan Sandfeld Jensen2022-04-271-1/+1
| | | | | | | | | Use QMetaType instead of QVariant types Pick-to: 6.3 Change-Id: I92248cc5eff82c1dc20f7cad11bdeeccc64a5605 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Liang Qi <liang.qi@qt.io>
* Use QPlatformWindow's API as much as possible in QPATang Haixiang2022-04-201-5/+5
| | | | | | | | | | When using highdpi, window->geometry != platformwindow->geometry. In QPA we should use QPlatformWindow's API. Fixes: QTBUG-102601 Change-Id: Ib4ff2edbc045cf441cd2d594d502875417eb4917 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* use poll(2) when reading from clipboardKenneth Topp2022-04-141-7/+8
| | | | | | | | change clipboard read away from select(2) call which can fail when an application has large number of open files Change-Id: I6d98c6bb11cdd5b6171b01cfeb0044dd41cf9fb5 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Doc: Fix QWaylandSurface::isOpaque property documentationTopi Reinio2022-04-061-1/+1
| | | | | | | | | | The \property command accepts no type, only the name of the property. Task-number: QTBUG-102185 Change-Id: Ia779a8c4097c7f4f1d1080b0e75114cea947578a Reviewed-by: Kai Koehne <kai.koehne@qt.io> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
* Doc: Fix documentation warnings and enable doc testing in CITopi Reinio2022-04-063-7/+13
| | | | | | | Pick-to: 6.3.0 6.3 Fixes: QTBUG-102185 Change-Id: Ib2f6da8d7af63ef89dba2701bda562722dd9a12f Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* client: Synthesize enter/leave event for popup in xdg-shellLiang Qi2022-04-041-0/+27
| | | | | | | | | Fixes: QTBUG-100148 Pick-to: 6.3 6.2 5.15 Change-Id: I45e3156d7942cff9968674c0b253d15be7235921 Reviewed-by: Tang Haixiang <tanghaixiang@uniontech.com> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Fix format of qt_attribution.json filesKai Köhne2022-03-311-3/+3
| | | | | | | | | | | Also fix a typo in the license name. Amends db3df0b3b439a Pick-to: 6.3.0 6.3 Fixes: QTBUG-102148 Change-Id: Ic231a4b744864c19190d428a9a2fc5101ffa77f0 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Fix to have presentation feedback sequence timelyJungi Byun2022-03-312-3/+7
| | | | | | | | | | | | | | In the case connections in PresentationFeedback are QueuedConnection, there are sometimes a signal to be connected is emitted before creating another connection on the signal from the connection's slot method, and this makes wrong feedbacks. In order to send proper feedbacks to clients, create related connection earlier and make to work properly by checking some conditions. Pick-to: 6.3 Change-Id: Ic8f02139ca08713c419b0341b9a1e8add6f5a095 Reviewed-by: Elvis Lee <kwangwoong.lee@lge.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Move internal function to private classPaul Olav Tvete2022-03-294-16/+15
| | | | | | | checkAndRepairModifierState() was never meant to be a public function. Change-Id: Ia8946523b5ae79170490dc78a509ed1e132d9832 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* client: add ScreenWindowGrabbing capabilityLiang Qi2022-03-241-0/+2
| | | | | | | | | On Wayland, there is no protocol to do it yet. Task-number: QTBUG-100792 Task-number: QTBUG-101145 Change-Id: I4bfef2920547babf0ccc00a27062d0db77ae5b7f Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* client: Avoid trying to read/cancel read if wl_display_read_events failedDavid Edmundson2022-03-231-0/+3
| | | | | | | | | | | | | | | | wl_display_prepare_read and wl_display_read_events/wl_display_cancel_read must come as matching pairs. Otherwise we set libwayland's internal read count to a negative number and causes all types of deadlocks. If prepareReadQueue fails but we haven't explicitly quit waitForReading returns a success statement but we haven't opened anything. Pragmatically most times wl_display_prepare_read fails it's because of a wayland error which is handled by exiting anyway, but it is better to err on the side of safety. Change-Id: Ia29c3217622d97594404be3daf4c50338a1d3fb0 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Client: Fix up thread usage for mSurfaceDavid Edmundson2022-03-222-3/+5
| | | | | | | | It didn't make sense that mSurface was protected, but the mutex was not. Also try to improve documentation. Change-Id: I2f59557cccbb2d6f0b2772ce3c8a2dab01167a6c Reviewed-by: David Edmundson <davidedmundson@kde.org>
* Fix race condition on mWaitingForUpdateDeliveryPaul Olav Tvete2022-03-212-5/+3
| | | | | Change-Id: I0e91bda73722468b9339fc434fe04420b5e7d3da Reviewed-by: David Edmundson <davidedmundson@kde.org>
* Revert "Client: Remove mWaitingForUpdateDelivery"Paul Olav Tvete2022-03-212-3/+9
| | | | | | | | | | | | The reverted commit introduces a severe performance regression when a client window is resized while a QtQuick renderthread animation is running. This reverts commit feb1a5c207c13d0bf87c0d8ad039279dbf8cee9e. Fixes: QTBUG-101726 Change-Id: Ib5b52ce06efec8c86fada1623c2af82099e57fc6 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Guard mResizeDirty by the correctMutexDavid Edmundson2022-03-171-3/+4
| | | | | | | | | mResizeDirty is used in the GUI thread in setCanResize which can be called from the GUI thread. It is queried and set whilst the resizeLock is held. We need to guard our usage. Change-Id: I5f8dcf8aa2cb2c4bb6274103df1da9e3e268605a Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Send correct modifier state for non-windowsystem key eventsPaul Olav Tvete2022-03-154-2/+60
| | | | | | | | | | | | | | | | | | | | | In the wl_keyboard protocol, key events and modifier state is sent separately. Currently, the modifier state is maintained by a QWindowSystemEventHandler that filters low-level QPA events. This does not work for key events that are injected from other sources, such as virtual keyboards, or remote UI connections. This change does not try to fix the architectural issue. It is just a workaround that detects when we try to send a key event with a modifier state that does not match the previous modifier state sent through wl_keyboard. In that case we send a wl_keyboard.modifiers() event that matches the modifiers of the key event. This is somewhat fragile, and will probably cause weirdness if native key events are interleaved with injected events, but it should behave better than the previous situation. Change-Id: Ic80198e7728edacfdcaf426bae54508a6576e8cd Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Also accept a client text-input extension registered too lateDominik Holland2022-03-153-6/+21
| | | | | | | | | | | | | | | When the wayland surface gets initialized at the compositor side, the compositor checks whether the text-input extension is available and connects to its signal. If the client doesn't create the extension before the initialization on the compositor side happens, the InputMethodControl of the surface is not connected to the text-input extension and doesn't work correctly. In this case the connection should be made once the extension is available. Change-Id: Icdd015f1d7853fe2f191b91a87d25f196f6b7769 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* wayland: do not rely on transitive includesFabian Kosmale2022-03-1114-0/+19
| | | | | Change-Id: I149e04d31ef3e897e25a91450427237069af4c34 Reviewed-by: Liang Qi <liang.qi@qt.io>
* client: update button state and etc in pointer_leave()Liang Qi2022-03-101-5/+5
| | | | | | | | | | | | The cleanup work needs to be done even the surface is null, for example, a window was closed in mouse press handler, then will not get a mouse release. Fixes: QTBUG-100942 Pick-to: 5.15 6.2 6.3 Change-Id: I637a6744909ddbe62bdeba6b21494e5a6ae7fa9f Reviewed-by: Tang Haixiang <tanghaixiang@uniontech.com> Reviewed-by: David Edmundson <davidedmundson@kde.org>
* Add globalRemove to QWaylandClientExtensionDavid Redondo2022-03-094-21/+48
| | | | | | | | | | | | Adds support for handling of removal of the relevant global to QtWaylandClientExtension. The user is responsible for destroying the object once it becomes inactive to match the behavior on destruction. Two signals for globals and their removal are added to QWaylandDisplay to make it a bit nicer to use in a more "Qt-way". The addRregistryListener function is kept for now until other places are ported. Change-Id: I4ccbaa32e18a5ae15871aa23639e2b4a372cc34e Reviewed-by: David Edmundson <davidedmundson@kde.org>
* Make sure all private headers include at least one otherThiago Macieira2022-03-0853-36/+84
| | | | | | | | | | See script in qtbase/util/includeprivate for the rules. Since these files are being touched anyway, I also ran the updatecopyright.pl script too. Change-Id: Ib056b47dde3341ef9a52ffff13ef677e471674b6 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* client: set_constraint_adjustment() for popups in xdgLiang Qi2022-03-081-0/+4
| | | | | | | | | | | | See also https://cgit.freedesktop.org/wayland/wayland-protocols/tree/stable/xdg-shell/xdg-shell.xml#n234 . Kudos to Greg V for his original patch in jira. Fixes: QTBUG-87303 Pick-to: 5.15 6.2 6.3 Done-with: Greg V <greg@unrelenting.technology> Change-Id: I57df9aedea7cc6f0b6fa142a6fc6c3bdc98324c8 Reviewed-by: David Edmundson <davidedmundson@kde.org>
* Allow creating popups from non xdg-shell parentsDavid Redondo2022-03-081-4/+4
| | | | | | | | | It's possible to create xdg-popups with a null parent and set a parent via some other protocol. This will be useful for the work of allowing multiple shells in one process. Change-Id: I1fb9035be4b3999ff284bcc5c60eb4142cee1294 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Add attribution for text-input v1 protocolEskil Abrahamsen Blomfeldt2022-03-031-2/+19
| | | | | | | | | This was not added together with the protocol. This change also disambiguates v1 and v2 as two separate entries, since the licenses are different. Change-Id: I2309aced67ae69bc2d8117688e5d7b1074e8bf8f Reviewed-by: Dominik Holland <dominik.holland@qt.io>
* Update 3rdparty attributionsEskil Abrahamsen Blomfeldt2022-03-031-2/+20
| | | | | | | | | | | The XDG activation protocol was added with no attribution and the Wayland protocol version was updated without updating the version in the XML. Pick-to: 6.3 Fixes: QTBUG-100901 Change-Id: Ifaaf69b7d498ea7106d4bfd6ada978475447d296 Reviewed-by: Aleix Pol Gonzalez <aleixpol@kde.org>
* QWaylandBufferRef: fix relational operatorsMarc Mutz2022-02-284-11/+112
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The relational operators were incorrectly declared as mutable member functions (they should have been const). In C++20 builds, this leads to ambiguities between these operators and their reversed versions. Even before C++20, one couldn't equality-compare two const QWaylandBufferRefs. The problem is that we cannot fix this in a forwards-binary-compatible way, because there's no way to implement the operator for lhs = const and rhs = const without adding a new symbol or breaking encapsulation of the class. Therefore, libQtWaylandCompositor is unfixably broken in Qt ≤ 6.2, unless we break forwards-BC as per this patch. There doesn't appear to be a specialized test for this class, so just check overload resolution using static_assert()s. [ChangeLog][QtWaylandCompositor][QWaylandBufferRef] Two const QWaylandBufferRefs can now be compared for equality (before, the LHS was not allowed to be const). [ChangeLog][QtWaylandCompositor][Potentially Source-Incompatible Changes][QWaylandBufferRef] The relational operators are now hidden friends (they were member functions before) which are only found by unqualified lookup. Pick-to: 6.3 Fixes: QTBUG-100845 Change-Id: If0ef6b3b6dafc6c9bf4dca02c5f26a08ed73815d Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Reduce memory leakageUlf Hermann2022-02-231-0/+3
| | | | | | | We need to clean up the event queue when we're done. Change-Id: I13a9eb77e978f4eab227a3a28dab8ebc8de94405 Reviewed-by: David Edmundson <davidedmundson@kde.org>
* Client: Fix opaque region setterVlad Zahorodnii2022-02-211-1/+1
| | | | | | | | The rect is in the global coordinate system, while the opaque region must be in the surface local coordinate system. Change-Id: I75042b4d779dfd4dfe610aad1f0387879f11b048 Reviewed-by: Aleix Pol Gonzalez <aleixpol@kde.org>
* Use opaque render list when client content is opaqueEskil Abrahamsen Blomfeldt2022-02-174-5/+37
| | | | | | | | | | | | | | | If the client says it's fully opaque through the set_opaque_region request, we can disable blending for the item and potentially improve performance a little bit. [ChangeLog][QtWaylandCompositor] The compositor now respects the opaque region set by the client and no longer applies blending or overdraw for fully opaque windows. Fixes: QTBUG-100373 Change-Id: Iaa68fbf1f086d926c9c1867d981a63810f4ca855 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Call updateSize only for new windowsBernd Weimer2022-02-151-7/+7
| | | | | | | | | | | This avoids "No update on item size as the buffer is currently locked" warnings when windows are hold in a model and a window is closed and removed from the model. The problem was apparent in many QtApplicationManager examples. Pick-to: 6.2 6.3 Change-Id: Icb9d4cd37d3a4a8ee4214a92aed8422794729d9d Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* QtWaylandCompositor: use cmake-generated export headersMarc Mutz2022-02-1493-135/+123
| | | | | | | | Pick-to: 6.3 Change-Id: Ifda9223dbf9d7c615de6540250a23a6687daecd7 Reviewed-by: Alexey Edelev <alexey.edelev@qt.io> Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* client: Simplify round trip behaviorDavid Edmundson2022-02-141-42/+1
| | | | | | | | | | | | | | | | The custom event queue was removed in 302d4ffb8549214eb4028dc3e47ec4ee4e12ffbd (2015) so the comment about not being able to use the inbuilt round trip method no longer applies. This fixes a real world problem. Use of a blocking round trip should not process non wayland events. Doing so can lead to misbehaviour client side as things happen out of order. The move to the event thread created several regressions as we now get events before the QGuiApplication is fully constructed. Change-Id: I650481f49a47ed1a9778c7e1bc3c48db6e8f0031 Reviewed-by: Vlad Zahorodnii <vlad.zahorodnii@kde.org> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Update the preedit styling mappingWeng Xuetian2022-02-121-11/+20
| | | | | | | | | | | | | - None mapping to no style. - Default/Underline mapping to underline. - Highlight/Selection mapping to background color/text color with highlight/highlight text with underline. - Active/Inactive mapping to bold text with underline. - Incorrect mapping to red wave underline. Pick-to: 5.15 6.2 6.3 Change-Id: Iab51d671b8f83aece8596f7f7610de19343fcceb Reviewed-by: Aleix Pol Gonzalez <aleixpol@kde.org>
* Cursor position == 0 should still show the cursorWeng Xuetian2022-02-121-2/+2
| | | | | | | | | Otherwise the cursor would be hidden even if preedit is empty. Amends 719a55be13bdadfa659a732755f280e276a894bd Pick-to: 5.15 6.2 6.3 Change-Id: I320733b917779b7b51aa4a28eaea411fdb10a318 Reviewed-by: Liang Qi <liang.qi@qt.io>
* Update the window geometry when changing decorationsInho Lee2022-02-091-1/+1
| | | | | | | | | | Windows' geometries should be updated when changing decorations. Fixes: QTBUG-100467 Pick-to: 6.3 6.2 5.15 Change-Id: I5ec9968aa48422776d184a8fa2f5d86ecc3ca5c3 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> Reviewed-by: Liang Qi <liang.qi@qt.io>
* Do not delete window decorations before next updateInho Lee2022-02-093-26/+34
| | | | | | | | | | | | | When window decorations are turned on/off, a timing issue might happen with accessing deleted decorations. A boolean value, mWindowDecorationEnabled, will be used instead of mWindowDecoration. Pick-to: 6.3 6.2 Fixes: QTBUG-59627 Change-Id: I5514a408d89340fdbf481721ea2dc4bf62078852 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Fix unused warningsShawn Rutledge2022-02-097-10/+4
| | | | | | | | | Unused lambda capture and private variables that clang complains about. Pick-to: 6.2 6.3 Task-number: QTBUG-100249 Change-Id: I204eea8d4fc0c22542224d94bae113fa66870d15 Reviewed-by: Liang Qi <liang.qi@qt.io>
* Client: Remove mWaitingForUpdateDeliveryVlad Zahorodnii2022-02-082-9/+3
| | | | | | | | | | | | | | | | Currently, mWaitingForUpdateDelivery is shared between the main thread (doHandleFrameCallback()) and the frame callback event thread (handleFrameCallback()), however the access to it is not synchronized between both threads. On the other hand, QWaylandWindow already ensures not to create a frame callback if there's already one pending. This change removes mWaitingForUpdateDelivery flag because it should be already covered by mWaitingForFrameCallback and to remove unsynchronized shared state between threads. Change-Id: I0e5a25d18d1e66c4d7683e7e972330c4d7cbbf38 Reviewed-by: David Edmundson <davidedmundson@kde.org>
* Adapt to moving of type registrations into the Qt namespaceUlf Hermann2022-02-053-16/+9
| | | | | | | | | ... and make the type registration function private. As we already have a private global header, let's use it. The public global header should not have the "We mean it" warning either. Change-Id: If4424652528c7886ce56e676d633aa3968f3772b Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* CMake: Fix qtwayland feature detectionChristophe Giboudeaux2022-02-041-0/+15
| | | | | | | | | | The dmabuf_server_buffer test links to EGL and libdrm and the vulkan_server_buffer one needs to link to wayland-client Fixes: QTBUG-100475 Pick-to: 6.3 6.2 Change-Id: Idbcef88bba0a9d5ef7bfeaa55668c94caee6ab83 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Address API review comments for Qt WaylandEskil Abrahamsen Blomfeldt2022-02-044-7/+13
| | | | | | | | | | 1. Adds explicit to new constructor 2. Adds an empty destructor for consistency to new class 3. Moved new data member into private class. Pick-to: 6.3 Change-Id: Ib76c1cbea214693c929ced8651bdac92c2dbcd4e Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>