| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
Only qmake instructions exists as of today. Add CMake instructions
and make use of the global include snippets.
Fixes: QTBUG-113023
Pick-to: 6.5
Change-Id: I50d5f503b5f0c116bc9c1d48b6e09ad2de45a3bb
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
Reviewed-by: Safiyyah Moosa <safiyyah.moosa@qt.io>
|
|
|
|
|
|
|
|
| |
Pick-to: 6.5
Fixes: QTBUG-111503
Done-With: Liang Qi <liang.qi@qt.io>
Change-Id: Ib6adb03575c06f667ec5d7a0139b4396888d4010
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The documentation wrongfully states that the name of the CMake
component for Qt Wayland Compositor is `Waylandcompositor`.
The correct component name is `WaylandCompositor`, see e.g.
qtwayland.git/src/compositor/CMakeLists.txt.
This change corrects the typo.
Fixes: QTBUG-113022
Pick-to: 6.5
Change-Id: I158c8d93e664bd729c912d2f7424a99ea3713ab8
Reviewed-by: Andreas Eliasson <andreas.eliasson@qt.io>
|
|
|
|
|
|
|
| |
Pick-to: 6.5
Task-number: QTBUG-112853
Change-Id: I5ae7ee194e8415c5e34ecde2d93086885866abfd
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
since the default value of superAsMeta and hyperAsMeta in
QXkbCommon::keysymToQtKey() were changed in qtbase
610bafdfc58e90f24e3908e1a5932e2f510eac7e.
And Qt Wayland Compositor needs to distinguish Super/Hyper/Meta keys.
Fixes: QTBUG-111423
Change-Id: I531c4f6adc019e59d4a7d57853a459ea512028a2
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
|
|
|
|
|
|
|
|
|
| |
The acitve focus has only been set in clients when a key was pressed.
This caused Qt clients to miss the pressed key event.
Fixes: QTBUG-108645
Change-Id: Ie277d64e4e707533d84179c01a69a745cb4da950
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The pure-qml name made sense when the example was made, but since
then we have added a lot of examples that are all in Pure QML.
Minimal QML covers the basics of how to set up a compositor in QML,
but Pure QML shows a more advanced use case, with animations,
windowing system features, virtual keyboard support, etc.
To make it clear what the example is demonstrating, we call it
Fancy Compositor instead.
Task-number: QTBUG-110993
Change-Id: Iad1cfb11b6461858ebcdaa388ed16e1fd3ec8805
Reviewed-by: Liang Qi <liang.qi@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Remove redundant categorization from example title as according
to example guidelines.
The examples are already categorized under Qt Wayland Compositor
Examples, so adding it to the title makes the list a bit cluttered.
Pick-to: 6.5
Task-number: QTBUG-110993
Change-Id: I91ad127611c7b1e4d8c558377bc5f46e0ec28a41
Reviewed-by: Inho Lee <inho.lee@qt.io>
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
|
|
|
|
|
|
|
|
| |
They cause clashes in CMake Unity (Jumbo) builds.
Pick-to: 6.5
Task-number: QTBUG-109394
Change-Id: Ia6e293fa30d788f8abd52bf675f11d7d0151259f
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
* Wiggly example has been removed.
* Remove broken link to 'macros' from QWaylandQuickExtension
header reference as unnecessary.
Pick-to: 6.5
Change-Id: I17c9db09e7d0a649ab3a37ed867d4f81e039d485
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This was introduced by d89c8920f3b82dd2098971b5a66c4b9c75da5af0.
The raise() function would search for a suitable surface, but
failing to find one, it would search past the end of the
childItems list and cause memory corruption.
[ChangeLog][QtWaylandCompositor] Fixed an issue where the compositor
would sometimes crash if a shell surface item was brought to front.
Pick-to: 6.4 6.5
Fixes: QTBUG-109051
Change-Id: I2249f0881b90fc05b5f0292cd35c6524db4663c5
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
In addition a new entry in QWaylandCompositor::ShmFormat
allows compositors to enable that format at runtime
Pick-to: 6.5
Change-Id: I0f894adb3f688458a65713e343127fbcb26f8b65
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
|
|
|
|
|
| |
Change-Id: Ic9ff039028e509c3e09d446f85648fe063f4749f
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The client tells us when the title bar has been pressed and it
has started a move, but we only actually updated the position
of the window for mouse events. This adds touch event support
for this, but only for a single touch point. Since there is
no way of knowing which touch point actually triggered the
move, we just assume it is the first. This could cause some
odd behavior if you try interacting with the window frame
with two fingers at the same time, but not beyond what you
would expect.
[ChangeLog][QtWaylandCompositor] It is now possible to move
windows using client-side decorations with touch input as
well as mouse input.
Fixes: QTBUG-108690
Change-Id: I23ce1e39a26be5b1b5a5ac93d8f38cc59685aa96
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The damage() request has been deprecated in favor of the
damage_buffer() request, which is the one we use in Qt 6
as long as the version is 4 or higher. See change:
314fd6db51277224cdc799b039ef79db1101f5cd.
However, eglSwapBuffers() will in some drivers still send
the old request, causing us to get a mix of incompatible
requests, since they are in different coordinate systems.
We need to store these separately so that we can apply
them both correctly once we get a commit.
Fixes: QTBUG-108765
Change-Id: I9bbe0c87731847a4fa1927957dfd8945bd49c474
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
If a QuickItem used in a compositor has a texture provider,
it is not destroyed before deleting QRhi. It makes a warning
of unreleased resources.
Fixes: QTBUG-108767
Pick-to: 6.4
Change-Id: Id86839f1de1ff4f374170627d9c1e02c4afb7301
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
|
|
|
|
|
|
|
|
| |
Updated signal handlers to new syntax to reduce noise (warnings).
Allowed to build examples with subfolders in one step, updated from
deprecated WlShell to XdgShell, etc.
Change-Id: If821363ffd1b38ea1d152f5a044b0609cf739014
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
|
|
|
|
|
|
|
| |
Some macros are missing DEPENDS for add_custom_commands
Fixes: QTBUG-108142
Change-Id: Ifacb2ea9bf3003c10dd407a8c77fc06b893b6a65
Reviewed-by: David Edmundson <davidedmundson@kde.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
To allow the user to customize the C++ code that QDoc sees, so as to be
able to work-around some limitations on QDoc itself, QDoc defines two
symbols: Q_QDOC and Q_CLANG_QDOC, both of which are "true" during an
entire execution of QDoc.
At a certain point in time, QDoc allowed the user the choice between a
custom C++ parser and a Clang based one.
The Q_QDOC symbol would always be defined while the Q_CLANG_QDOC symbol
would be defined only when the Clang based parser was chosen.
In more recent times, QDoc always uses a Clang based parser, such that
both Q_CLANG_QDOC and Q_QDOC are always defined, making them equivalent.
To avoid using different symbols, and the possible confusion and
fragmentation that derives from it, all usages of Q_CLANG_QDOC are now
replaced by the equivalent usages of Q_QDOC.
Change-Id: I7b606de94889497a7ee7daebd01e6443a89a60d5
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
|
|
|
|
|
|
|
|
|
| |
Add dependencies to WaylandCompositor_sync_headers for the qml plugin
targets. Add deprecation macros. Fix syncqt warnings.
Task-number: QTBUG-87480
Change-Id: I0e169344c9a8186484fbb36f5ec1e03cd38ea19b
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
This is required to filter the generated wayland files when syncing
headers.
Task-number: QTBUG-103196
Change-Id: I86d440bf8b56802dff2fa75ba621c37a8daa8bbf
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We've been requiring C++17 since Qt 6.0, and our qAsConst use finally
starts to bother us (QTBUG-99313), so time to port away from it
now.
Since qAsConst has exactly the same semantics as std::as_const (down
to rvalue treatment, constexpr'ness and noexcept'ness), there's really
nothing more to it than a global search-and-replace.
Task-number: QTBUG-99313
Change-Id: Ia64c6615ee81f7ad5d0658449b0ee347c3db8c29
Reviewed-by: David Edmundson <davidedmundson@kde.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a semantic patch using ClangTidyTransformator as in
qtbase/df9d882d41b741fef7c5beeddb0abe9d904443d8:
auto QtContainerClass = anyOf(
expr(hasType(cxxRecordDecl(isSameOrDerivedFrom(hasAnyName(classes))))).bind(o),
expr(hasType(namedDecl(hasAnyName(<classes>)))).bind(o));
makeRule(cxxMemberCallExpr(on(QtContainerClass),
callee(cxxMethodDecl(hasAnyName({"count", "length"),
parameterCountIs(0))))),
changeTo(cat(access(o, cat("size"), "()"))),
cat("use 'size()' instead of 'count()/length()'"))
a.k.a qt-port-to-std-compatible-api with config Scope: 'Container',
with the extended set of container classes recognized.
Change-Id: I574208abc90a8042b500b3f96e3862b0ff339eb6
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
|
|
|
|
|
|
| |
Change-Id: I739eb81ec78a071baa85d24f26bb45b184b9068c
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
Reviewed-by: David Edmundson <davidedmundson@kde.org>
|
|
|
|
|
|
|
|
|
|
| |
None of these users require C++20 constexpr or C++23 noexcept, the
only remaining difference between std::exchange and qExchange.
Task-number: QTBUG-99313
Change-Id: Ic5a0bd36d715af2cbc5f9936fdff665ee6eeea4e
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: David Edmundson <davidedmundson@kde.org>
|
|
|
|
|
|
| |
Task-number: QTBUG-87480
Change-Id: I83fd8b53ef7ee4eb068f26e717b37cb2e52fe874
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
| |
Task-number: QTBUG-105718
Change-Id: Icb25ea4e07a38eea81f55ed59c6d3b9d37602626
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
| |
qdoc's new clang backend does not use them anymore.
Task-number: QTBUG-104903
Change-Id: Id3ae854816cde9983987c840705e526e3a7f5f28
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
CMakeLists.txt and .cmake files of significant size
(more than 2 lines according to our check in tst_license.pl)
now have the copyright and license header.
Existing copyright statements remain intact
Task-number: QTBUG-88621
Change-Id: Ib014757184540728f40df71cd580f01e85fbbb56
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
| |
People should rather use class includes, like they are advertised
in each class documentation.
Pick-to: 6.4
Change-Id: Ied028bcedc3c82ec85ff0c7d6ef35958abf52835
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
We encounter situation where 'dragMove' was called for
DataDevice`s instance, but 'data_device_start_drag' did not called
or 'drop' was called before, because even all m_drag* pointers
including m_dragOrigin were nullptr
Pick-to: 6.3
Change-Id: Ic435286a77e273167b1aa812cbf18a7fbf3489f2
Reviewed-by: Elvis Lee <kwangwoong.lee@lge.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
|
|
|
|
|
|
| |
sendModifiersMap can be used for setting modifiersMap
Change-Id: I786140d14adacd05b89c7fe9599933bfba55f054
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
zwp_text_input_v2's modifiers_map was used in client
but QWaylandCompositor does not care about it.
Pick-to: 6.4 6.3 6.2 5.15
Fixes: QTBUG-104227
Change-Id: I78ff56f84b5380e74649a0a8de99eaffd8a359ab
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
|
|
|
|
|
| |
Pick-to: 6.4
Change-Id: Ie9e0a61fb26a305bc5b913dc95bdf31c1e7cb408
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
|
|
|
|
|
|
|
|
| |
This regressed in 55223c995b3895daa34e7ad632544d9a6bf80187
Fixes: QTBUG-97593
Pick-to: 6.4 6.3 6.2
Change-Id: I06f4cf70ea97131cb07f9c5a6f9c55c7397c1dcf
Reviewed-by: Liang Qi <liang.qi@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Replace the current license disclaimer in files by
a SPDX-License-Identifier.
License files are organized under LICENSES directory.
Pick-to: 6.4
Task-number: QTBUG-67283
Change-Id: I106d3a5d1a7b96250380b6f51a48f3b19d10e4d9
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
| |
Pick-to: 6.3 6.2 5.15
Task-number: QTBUG-103295
Change-Id: I2311465d5341fc5902981d80ab0a117dd2df002d
Reviewed-by: Marc Mutz <marc.mutz@qt.io>
|
|
|
|
|
|
|
| |
Pick-to: 6.3 6.2
Task-number: QTBUG-103295
Change-Id: Ica578e313dfcea3ec9f2c426fab9d1b643286bb5
Reviewed-by: Marc Mutz <marc.mutz@qt.io>
|
|
|
|
|
|
|
|
|
| |
Found by the includemoc script complaining.
Pick-to: 6.3 6.2 5.15
Task-number: QTBUG-103295
Change-Id: I56513a331c098c1511b0b0091902f1e83f61e5c2
Reviewed-by: Marc Mutz <marc.mutz@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Just to include the moc file. It's otherwise the only one left in
mocs_compilation.cpp and we might want to introduce a warning later on
if something ends up in there, to maintain the newly-established
includemocs level.
Pick-to: 6.3 6.2
Task-number: QTBUG-103295
Change-Id: Ic4dd94ab1a6ca20c4e0350066c875895841f4168
Reviewed-by: Marc Mutz <marc.mutz@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Just to include the moc file. It's otherwise the only one left in
mocs_compilation.cpp and we might want to introduce a warning later on
if something ends up in there, to maintain the newly-established
includemocs level.
Pick-to: 6.3 6.2 5.15
Task-number: QTBUG-103295
Change-Id: Iafaf87d8624f0162acd1a3063b5c4fac83406194
Reviewed-by: Marc Mutz <marc.mutz@qt.io>
|
|
|
|
|
|
|
|
|
| |
So we get correct exports different from imports, which are required for
GCC 12 with -mno-direct-extern-access and protected visibility.
Change-Id: If05aeeb7176e4f13af9afffd16e856de1f4f68d6
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As the warning asked.
qwaylandshellintegrationfactory.cpp:67:28: warning: ‘T* QScopedPointer<T, Cleanup>::take() [with T = QtWaylandClient::QWaylandShellIntegration; Cleanup = QScopedPointerDeleter<QtWaylandClient::QWaylandShellIntegration>]’ is deprecated: Use std::unique_ptr instead, and call release(). [-Wdeprecated-declarations]
As a drive-by, change *foo.get() to *foo.
Pick-to: 6.3 6.2
Change-Id: I7fb65b80b7844c8d8f26fffd16e97fe161d6a67a
Reviewed-by: Marc Mutz <marc.mutz@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
| |
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>
|