| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
| |
Change-Id: I914ccc09297ac6283d7cf24d5afc96ebdaf294d0
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
|
|
|
|
|
| |
Change-Id: Ibb1917502b7792eac1e1b84e8488da5096129a20
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
| |
The compositor can send a configure event with 0xH and Wx0 when it wants
the window to have some concrete size along one dimension but wants the
client to pick the size along the other dimension.
Change-Id: I2e72017d4a71b19a930da24fa5c58b6ce672fb94
Reviewed-by: David Edmundson <davidedmundson@kde.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The touch input for client-side decorations had its own handling
which only processed button clicks and moves. This meant that it
was impossible to resize windows using touch events. This
generalizes the mouse input code path and uses it for touch as
well. We need to take care not to update any mouse state in the
case of touch, since we only care about touch press events, so
we pass in a PointerType and disable parts of the code path when
the input is from a touch device.
[ChangeLog][QtWaylandClient] Enable resizing windows using
client-side decorations with touch input as well as mouse input.
Task-number: QTBUG-108690
Change-Id: I761ebb0c7c4844c52f793caa74e8606d1593757f
Reviewed-by: David Edmundson <davidedmundson@kde.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There is a few crashes happens in real life that frame callback is
double-free'd and hit an assertion in wayland-client. e.g.
https://bugs.kde.org/show_bug.cgi?id=450003
This is due to the WaylandEventThread and calls to QWaylandWindow::reset
may free and unset the mFrameCallback at the same time. mFrameSyncMutex
should be used to protect such access.
Pick-to: 6.4
Change-Id: Ie01d08d07a2f10f70606ed1935caac09cb4f0382
Reviewed-by: David Edmundson <davidedmundson@kde.org>
|
|
|
|
|
|
|
|
|
|
|
| |
If there's a QGuiApplication::overrideCursor(), QWindow::cursor() can
still return a different cursor. This can result in a wrong cursor when
the pointer enters a window.
Pick-to: 6.4 6.2 5.15
Fixes: QTBUG-75919
Change-Id: I015117b4b6d252b421ab14bd8f2a8f582f7cae52
Reviewed-by: Liang Qi <liang.qi@qt.io>
|
|
|
|
|
| |
Change-Id: Idd122988e3156f7e244875d0002e5ede2d307972
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: I24645a84eec8e13f726f4c608fed299bc701b8e5
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: Ia7a92020b3793006197088ddbba06a7a1a61e952
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
wl_output_release is available starting with wl_output v3.
Change-Id: I21822b26728ffb9318f1f8b4bd82ef7329682838
Reviewed-by: David Edmundson <davidedmundson@kde.org>
|
|
|
|
|
|
|
| |
It ensures that the proxy gets destroyed.
Change-Id: I915cc8814e33dd3b0405b2bf82bd12ce6b5f785b
Reviewed-by: David Edmundson <davidedmundson@kde.org>
|
|
|
|
|
|
|
|
|
|
| |
This lets libwayland-server avoid installing a SIGBUS handler when it
wants to mmap() the backing file and access the contents of shared
memory client buffers.
Change-Id: Id0b17f729799535d73e8700c5a99c32fd88a068a
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: David Edmundson <davidedmundson@kde.org>
|
|
|
|
|
| |
Change-Id: Ie3930d1958c3ee7059f74b6c02162766aab49f13
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: Iaf6a7d987600d1117d0ad5f7b9d289ba249cc386
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: Ie3ed92833842dc97f31dea806cddd45732d3b604
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
| |
add name and description functions in order to suppress warnings.
This amends f1e71327d462d2dae0b46677bbc478afb0d1b2f7 .
Change-Id: I0f638802773ce3da4574683e0783ec7405e7c0dc
Reviewed-by: Liang Qi <liang.qi@qt.io>
|
|
|
|
|
| |
Change-Id: I79f1e4fe263b2b5cd03f70565632a4ea6cfaddc8
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Also set default cursor size to 24 for client, which is correct
both on KDE and GNOME at least.
Fixes: QTBUG-104259
Pick-to: 6.4 6.2 5.15
Change-Id: Ie4ba27695974025b093a86d8c96fb23d25ad23f7
Reviewed-by: Inho Lee <inho.lee@qt.io>
Reviewed-by: David Edmundson <davidedmundson@kde.org>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
| |
In the first rountrip we will get all wl_outputs and the
xdg_output_manager. Therefore we know we will have called wl_output.bind
and xdg_output_manager_get_output by the time we hit the
second roundtrip on startup.
Change-Id: I69f911c13f9bcdfb59b04eceea4bcca778e7755c
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
|
|
|
|
| |
Change-Id: Id7345d7557b9782019e42726589ad96896468ff4
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
|
|
|
| |
Some macros are missing DEPENDS for add_custom_commands
Fixes: QTBUG-108142
Change-Id: Ifacb2ea9bf3003c10dd407a8c77fc06b893b6a65
Reviewed-by: David Edmundson <davidedmundson@kde.org>
|
|
|
|
|
| |
Change-Id: I182859e0a91d36f19c576676de419ec968c16d2c
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
|
| |
Change-Id: I2f5cc638f33fe0d884146342516efa7ce8474478
Task-number: QTBUG-94729
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QtWaylandClient assumes that data_source's fd is BLOCKING,
but some compositors (e.g. mutter) pass an fd with
O_NONBLOCK set. In this case, 'write' is not guaranteed to
process all of the passed data in one call. Instead of
dealing with such partial writes, remove O_NONBLOCK.
Fixes: QTBUG-107076
Pick-to: 6.4 6.2 5.15
Change-Id: Ieb446da9fdfbaaa55100f573b396ee449cadc463
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
|
|
|
|
| |
Change-Id: I89f98e73aea975dfd23f7a9c88089dd4f2d38526
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
|
|
|
| |
missing-field-initializers and unused variable
Change-Id: I1a5ceaf53ec706786c73eecab0c002fa9153b962
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
|
|
|
|
|
| |
Change-Id: Ie9b681ebb229596d8ece1bb8577b0fcba87b2c88
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
| |
Task-number: QTBUG-94729
Change-Id: I84f080719c6364137368bdd1759947a6d6ef2e5b
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: David Edmundson <davidedmundson@kde.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently, QtWayland doesn't know about work area size, which can create
a problem where some windows don't fit into the screen area or work
area.
With the xdg_toplevel.configure_bounds event, the compositor can
indicate the client the recommended maximum window geometry size.
https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/41
Change-Id: I5214aba9f144d091a2afe639de94b8d717c42fdc
Reviewed-by: David Edmundson <davidedmundson@kde.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With wl_pointer version 8, the axis_discrete event is replaced with the
axis_value120 event.
The main difference between axis_discrete and axis_value120 is that the
latter carries scroll deltas that can be fractions of 120, e.g. 30, etc.
See also https://gitlab.freedesktop.org/wayland/wayland/-/merge_requests/72
Change-Id: I4f724ead7ba146dde6d8975fa4edfcfca761769d
Reviewed-by: David Edmundson <davidedmundson@kde.org>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
| |
Change-Id: I0b5da7226238f8319d535f979e6ef97cf23f173f
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
| |
This is implemented by not specifying serial, as mentioned in
https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/9#note_854977
Tested on KDE Plasma
Change-Id: I4ef0975040bbce581b615b0318f90601e080235c
Reviewed-by: David Edmundson <davidedmundson@kde.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a semantic patch using ClangTidyTransformator to convert
sequences of Q_UNREACHABLE() + return into Q_UNREACHABLE_RETURN(),
newly added to qtbase.
const std::string unr = "unr", val = "val", ret = "ret";
auto makeUnreachableReturn = cat("Q_UNREACHABLE_RETURN(",
ifBound(val, cat(node(val)), cat("")),
")");
auto ignoringSwitchCases = [](auto stmt) {
return anyOf(stmt, switchCase(subStmt(stmt)));
};
makeRule(stmt(ignoringSwitchCases(stmt(isExpandedFromMacro("Q_UNREACHABLE")).bind(unr)),
nextStmt(returnStmt(optionally(hasReturnValue(expr().bind(val)))).bind(ret))),
{changeTo(node(unr), cat(makeUnreachableReturn,
";")), // TODO: why is the ; lost w/o this?
changeTo(node(ret), cat(""))},
cat("use ", makeUnreachableReturn));
a.k.a qt-use-unreachable-return.
subStmt() and nextStmt() are non-standard matchers.
Change-Id: I3855b2dc8523db1ea860f72ad9818738162495c6
Reviewed-by: Marc Mutz <marc.mutz@qt.io>
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
|
|
|
|
|
| |
Change-Id: I210fbfdfee907389ff8088efe5b76f79f1c20b85
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
| |
There are Wayland protocols for which using this option doesn't
result in compilable code. Examples are input-method-unstable-v1
and linux-dmabuf-v1.
Pick-to: 6.4
Change-Id: I06dea12dea1058fb6bd99522aa4278c36d271d4e
Reviewed-by: Vlad Zahorodnii <vlad.zahorodnii@kde.org>
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>
|
|
|
|
|
| |
Change-Id: Ie841dc8d2a1f201a157c1b43f6299c5844053ca5
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_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>
|
|
|
|
|
| |
Change-Id: I845277c241f1893ede025d8d1bd1cfce2b1bb7db
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: Ic286b358d2e91dc1cf9956c451789bc8b21d04d8
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: I15db94e6665472c5656d47a67dee8bc536683177
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fixes
File ./qtwayland/src/3rdparty/protocol/qt_attribution.json: Unknown key File.
File ./qtwayland/src/3rdparty/protocol/qt_attribution.json: Unknown key License file.
Could not parse file ./qtwayland/src/3rdparty/protocol/qt_attribution.json: object is missing after a comma
Pick-to: 6.4.0 6.4
Change-Id: I145f9bcc40f175f5d909f7f947c2a20333b70c0c
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
|
|
|
|
|
|
| |
Task-number: QTBUG-87480
Change-Id: I83fd8b53ef7ee4eb068f26e717b37cb2e52fe874
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
| |
Change-Id: I356046940231720ef4a364aa79759ab3e0c0c8b5
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|