| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
| |
Change-Id: Ic6ef3b46fe6d6abf0f028389174fe4ac09dff60a
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
propagateSizeHints is only called in QWindow we have platform window and
minimumSizeHint is then sent. We also need to send existing hints when
we create the shell window.
Sending them when we apply configure is too late, we need these hints
available for the compositor to correctly configure the window.
Change-Id: I6cbb294b11db06ecd87535fa4816bb8ad34a29c6
Reviewed-by: Vlad Zahorodnii <vlad.zahorodnii@kde.org>
Reviewed-by: Aleix Pol Gonzalez <aleixpol@kde.org>
|
|
|
|
|
|
|
|
|
|
|
| |
In each test we were recompiling the shared mock compositor. This led to
a lot of difficult to maintain boiler plate as well as slowing down the
build.
This patch turns the shared component into an object library
Change-Id: I2460d3fec312a348fe633ac271f994dd36d564c4
Reviewed-by: David Edmundson <davidedmundson@kde.org>
|
|
|
|
|
|
|
|
|
|
|
| |
We had auto configure on, but also manually configured half of the
configure event by hand.
This patch changes it to all be manual
Change-Id: Id130d71585c0d8a94107702e470de201fe1a189c
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When a subsurface is moved, we need the parent window to commit to apply
that move. Ideally we want this in sync with any potential rendering on
the parent window.
Currently the code calls requestUpdate() which acts more like a frame
callback; it will only do something if the main QWindow considers itself
dirty.
We want to force a repaint, which is semantically more similar to an
ExposeEvent.
Fixes: QTBUG-86177
Pick-to: 5.15
Change-Id: I30bdfa357beee860ce2b00a256eaea6d040dd55c
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
This includes removal of the corresponding .prev_CMakeLists.txt files.
Pick-to: 6.1
Task-number: QTBUG-88742
Change-Id: I57922bff138258f5b35d484caa4b00d84e924a06
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
|
|
|
|
|
|
|
| |
It was missing a CMakeLists.txt file, this way we can build them if the
right variables are enabled.
Change-Id: I13e5be9c7c9954c9091c0d140a5af696ae8961b9
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
| |
Task-number: QTBUG-89977
Change-Id: I7e3d0964087865e8062f539f851a61f3df017dae
Reviewed-by: David Edmundson <davidedmundson@kde.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
QTouchEvent::touchPoints() is deprecated and replaced by just
points(), and there is a new value in Qt::TouchPointState.
normalizedPos() is replaced by normalizedPosition().
And QVariant::type() is deprecated.
Change-Id: I4a4eea2775030f67ad12488df25d4859099c1783
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The texture sharing mechanism has some issues still, and
it is not strictly required in Qt 6.0. So we keep the code
for now, but hide the feature and document it as experimental
and unsupported. This makes it convenient to bring it back
later, maybe with a revised API, when have more concrete use
cases.
The example is moved into manual tests for now, and can
easily be brought back later.
Change-Id: Icfe4841b329bebcf9d63d1e00a4f6ae613c5092f
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Both of these are deprecated given this is now formalised as the final
xdg-wm-base. This final release has been out for several years and all
main compositors (kwin, sway, mutter) have dropped or are dropping
legacy support.
tst_nooutput is moved to stable XdgShell.
Change-Id: I46a011502dfec6d4a215c3b22d03e8ceebed46c3
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
|
|
|
|
|
|
|
| |
It was not properly marked as override and would not get called.
Pick-to: 5.15
Change-Id: Ib80c916c65534ddff918ac06bbe52d88e19d9ff4
Reviewed-by: David Edmundson <davidedmundson@kde.org>
|
|
|
|
|
|
|
|
| |
Otherwise tests using it crash.
Pick-to: 5.15
Change-Id: Id2ce98ed7c975144728be7566e20b6ea08fa9150
Reviewed-by: David Edmundson <davidedmundson@kde.org>
|
|
|
|
|
|
|
|
|
|
| |
If we don't mock regions, we get a crash every time that a client calls
createRegion.
So far regions are untested.
Pick-to: 5.15
Change-Id: I83f20b879ece5cefcf2039d369034516df6a6a62
Reviewed-by: David Edmundson <davidedmundson@kde.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If the frame listener callback is moved to a different queue while the
frame event is being processed, the event will not get delivered. (It
will not even show up in the WAYLAND_DEBUG output.) This will cause
waitForFrameSync() to hang until it times out.
To avoid this, perform the move just after the callback has been
created.
This exposed an issue with single-threaded rendering, where a new
update would be started from inside the callback, resetting
mWaitingForFrameCallback before waitForFrameSync could react to it.
This caused all rendering to freeze. To avoid that problem, do not
deliver update requests directly from the frame callback.
With the callback always on a separate queue, we then have to make
sure that queue is also dispatched during the main event loop,
otherwise the events may not be processed. To do this, we need a
mutex lock. But it turns out that we no longer need a global mutex
lock as long as the frame events are being dispatched on their own
queues, but can manage with per-window locks instead.
A final thing needed is to make sure the frame callback does not
request additional updates while we are already waiting for the main
thread to process the last one. This is to avoid flooding the main
event loop with events, when the main thread is processing them at
a slower pace than the frame rate.
Fixes: QTBUG-83263
Pick-to: 5.15
Done-with: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
Change-Id: I0db9da64fc8ced147177391c2a7999c4cc7a0d58
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
Reviewed-by: David Edmundson <davidedmundson@kde.org>
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
|
|
|
|
|
|
|
|
| |
The dependencies update has gone through, so the test
should now pass again.
Fixes: QTBUG-86698
Change-Id: I23babc4a5c3cae0bff5ba371e9703c976536f4ec
Reviewed-by: David Edmundson <davidedmundson@kde.org>
|
|
|
|
|
|
|
|
| |
Modify special case locations to use the new API as well.
Task-number: QTBUG-86815
Change-Id: I2ba7753b64f3d88332e919dc90c98e252e20dd98
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add one moc include to make things compile after
the changes in qtbase.
The nooutput test fails with this update because
high-dpi is now enabled by default. When running
with a placeholder screen, we get a scale factor
of NaN because the default logicalDpi()
implementation divides by physical size, which
is 0x0 in the case of the placeholder. We
temporarily disable the test in order to get the
update in.
Task-number: QTBUG-86698
Change-Id: I474f6970186e93905332c679f2cec5fea459de64
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Some of the qtwayland tests are failing on qemu configs and are thus
blacklisted. When the tests were built with CMake, the blacklist file was
not found.
This is due to the custom QCOMPOSITOR_TEST_MAIN function which does not
provide the location of the test source folder, and
thus the QTestPrivate::parseBlackList -> QTest::qFindTestData call
fails to find black list file.
Bring the custom test main function in line with what the other QTest
main functions do, which is call QTEST_SET_MAIN_SOURCE_PATH.
Note in qmake builds this was not necessary, because the way the
source and build folders are computed for tests is slightly different
from the CMake way. I don't recall the exact details, but
basically CMake builds need this extra information that is set by the
QTEST_SET_MAIN_SOURCE_PATH call.
Task-number: QTBUG-83968
Change-Id: Ia4742488097a65f18594881c89af48c9d621e6e1
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Many new specifications now rely on passing xdg_surface/xdg_toplevel as
arguments to other protocols.
wl_shell is currently exposed through native resources but xdg-shell
related classes were not.
Fixes: QTBUG-81479
Change-Id: I2023f39ad6813ff58e8a86d739f307d791794b16
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Wayland axis events and QWheelEvents are opposite way rounds. This was
handled for the case of discrete events, but not continuous events.
This leads to touchpads moving the wrong way round compared to other
clients.
Change-Id: Iee4f5c620940a491949d4039cb3ac70649d83a2b
Pick-to: 5.15
Task-number: QTBUG-85767
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
|
|
|
|
| |
Change-Id: I8e39d87361728c81b526f1ad89b45136500c9913
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
|
|
|
|
|
|
|
|
| |
The Threads::Threads target will automatically be propagated via the
Qt6::Platform target.
Task-number: QTBUG-85877
Change-Id: I9403f210dddf0921c06d2dd4ac9507fb4659fd70
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
|
|
|
|
|
|
|
|
|
| |
- moving linuxaccessibility/xkbcommon/eglsupport/glxsupport to QtGui
- event refactoring
Task-number: QTBUG-83255
Change-Id: Ic82ee6ef5652413781468edb58c601ee7dce2e3b
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
|
|
|
|
|
|
|
|
| |
We need the qt_add_tool changes to successfully configure qemu builds.
The rest of the changes are just to be in sync with the .pro files.
Change-Id: I64e92edc2486a71c88bd964a07adf502481b200d
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
We want extensions to be in submodules in QML.
[ChangeLog][WlShell] Moved WlShell types into QML import
QtWayland.Compositor.WlShell rather than QtWayland.Compositor
Task-number: QTBUG-68840
Change-Id: I7c3d2d05efdab86ea61affc6a9a0bc3e10835328
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
|
|
|
|
|
|
|
|
| |
Prefer the newer, recommended damage_buffer when the compositor
supports it.
Fixes: QTBUG-74929
Change-Id: I9107966910b616a666931404a7b41bfac14c22c0
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
|
|
|
|
|
|
|
|
| |
Add compositor support for wl_surface.damage_buffer requests.
This also required updating wl_compositor to version 4.
Fixes: QTBUG-74927
Change-Id: I887ed04e60fe14ecce7df6a517950b0091e2ad54
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
XdgShellv5 and XdgShellv6 have been deprecated in
the compositor since 5.15, and wl-scaler since 5.13.
These are now removed.
Since the qwindow-compositor has not been updated
for a long time, it depends on the outdated protocols.
This change removes it, since it no longer represents
best practices. This means we will be missing a proper
C++-based compositor for now, so we will have to
create a new one later.
Change-Id: Icc6ef97c17e553f266c4145abeef26ddd631d6bf
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
|
|
|
|
|
|
|
| |
This is required to remove the ; from the macro with Qt 6.
Task-number: QTBUG-82978
Change-Id: Ia626b9fbc2e4215cb9232ef9bcb71742d62dff4e
Reviewed-by: Liang Qi <liang.qi@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Several event accessors were deprecated in
qtbase/24e52c10deedbaef833c0e2c3ee7bee03eacc4f5.
Replacements were generated by clazy using the new qevent-accessors check:
$ export CLAZY_CHECKS=qevent-accessors
$ export CLAZY_EXPORT_FIXES=1
$ ../qt6/configure -platform linux-clang -developer-build -debug
-no-optimize-debug -opensource -confirm-license -no-pch QMAKE_CXX=clazy
$ make
$ cd ../../qt6/qtwayland
$ find . -name "*.clazy.yaml"
$ clang-apply-replacements .
Task-number: QTBUG-20885
Task-number: QTBUG-84775
Change-Id: If822ba409f974f737dc46ac31f6e8e92cc1603cc
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QTouchDevice has been replaced with a more general QPointingDevice.
All input devices need detailed information and need to be registered
via QWindowSystemInterface::registerInputDevice(). This patch is not
doing that yet; it's just enough to get qtwayland to compile again.
Done-With: Liang Qi <liang.qi@qt.io>
Change-Id: Id3a2e475ed07294a1977004fc72b11e466acc216
Reviewed-by: Liang Qi <liang.qi@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
|
|
|
|
| |
Task-number: QTBUG-84469
Change-Id: I5af6114797d009490313241f2faf3031ac5a512a
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
|
|
|
|
|
| |
Task-number: QTBUG-84469
Change-Id: I4bc7b2eb2913fc828f09f96e21480b76cabf8656
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
|\
| |
| |
| | |
Change-Id: Ie2b6b40e3ad1e753f051a12c0296206cc884352b
|
| |
| |
| |
| |
| |
| | |
Task-number: QTBUG-78317
Change-Id: Ic2fdbf98dc744c659091f46b33de8e8a34ed8cb1
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
tests/auto/client/xdgoutput/tst_xdgoutput.cpp
Regenerated CMake projects.
Removed duplicate wayland source in
tests/auto/client/xdgoutput/xdgoutput.pro. It's still
referenced via the included shared.pri file. Regenerated
the CMake project to adapt to that. Otherwise the CMake
project fails to configure due to duplicate rules with
a error like the one below
CMake Error at src/compositor/Qt6WaylandCompositorMacros.cmake:13 (add_custom_command):
Attempt to add a custom rule to output
tests/auto/client/xdgoutput/wayland-xdg-output-unstable-v1-server-protocol.h.rule
Also use a workaround fix for configuring CMake standalone tests
due to regression introduced by
dd7e40b1086020f6a054957f4972720cd684 in qtbase.
Change-Id: Ib364b851a1fa828c153efbf8653c9e4ef5e618cd
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The int-overload will in some cases truncate the descriptor.
So it's being replaced. On Linux it won't truncate, so the slot can stay
as int, but we still update which signal to connect to.
Task-number: QTBUG-70441
Change-Id: I516a453c381e8d29464febabfd69c788e58db5fe
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We don't want windows with FramelessWindowHint to have a
zxdg_toplevel_decoration_v1 object, because that allows the compositor to
force server-side window decorations.
We already have code in place that avoids creating the decoration object when
the window is created. However, if the frameless window hint is added after
the window has been shown, then the decoration object has already been created.
The protocol states that if a decoration object is destroyed, the window will
switch back to a mode without any server-side decorations on the next commit...
so this is what we do in this patch.
Unfortunately, there is no clean way to handle the case when the hint is
removed while the window is visible since the protocol explicitly forbids
creating toplevel decoration objects for surfaces with committed buffers.
Discussion is ongoing as to whether this should be fixed in the next version of
the protocol: https://gitlab.freedesktop.org/wayland/wayland-protocols/issues/9
If we want to work around it, it is perhaps possible to destroy and create a
new wl_surface, but ideally, it will be fixed in the next version of the
xdg-decoration protocol and we can just wait for that.
Task-number: QTBUG-80702
Change-Id: I7e76c05fc3629f1fbbba1d18482808fe588e3878
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| |
| |
| |
| |
| |
| | |
Change-Id: If6d7547c14dfaf06532a83ab2fbda4d0198837dc
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
|
| |
| |
| |
| |
| | |
Change-Id: Ia4fe187d33ddfd25a87dac8567143de6466c75a2
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This only fixes it for when Qt::FramelessWindowHint is set appropriately before
the window is shown.
[ChangeLog][QPA plugin] Windows with Qt::FramelessWindowHint no longer
create zxdg_toplevel_decoration_v1, as that allowed compositors to force
server-side decorations.
Fixes: QTBUG-80702
Change-Id: I47a582a59f6682a57128c0c9d4e4b9a6181925a4
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Use the new API provided in qtbase, to register a package dependency
between the client module and the QtWaylandScannerTools package.
Do the same for the compositor module.
Also register a dependency between the QtWaylandScannerTools package
and the WaylandScanner package.
Also fix the tests condition to check the correct _FOUND variable.
Change-Id: Id961a365715cef2d7d0b8a54ca9000dc3890ffd7
Reviewed-by: Leander Beernaert <leander.beernaert@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Some of the changes that were needed
- adjusted wayland macros due to changed target names for plugins
- a few direct moc file includes, to get rid of compilation errors
- Threads::Threads linking for a few tests
- a few special cases for QT_FOR_PRIVATE handling because pro2cmake
doesn't handle those correctly at the moment (they map to
PRIVATE_MODULE_INTERFACE rather than PRIVATE_LIBRARIES)
- just regenerating all projects
Change-Id: I418ce91b1c69c7388d41eb22b94a93a9e80fa732
Reviewed-by: Leander Beernaert <leander.beernaert@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|\ \
| | |
| | |
| | | |
Change-Id: Ia76896a4d06240ccc3d95ba478b6ce273c7a0be2
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Some deprecated functions were removed in dev.
Change-Id: Iad9910051efe0a499f0e0a4f2e151c39ddd0fcd0
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
const qualifiers made default assignment operators invalid.
Change-Id: I8b22a04f6e2f3b9b76a971b0a59f5fdce589c8e5
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Several of the QOpenGL* classes we depend on has moved to QtOpenGL, add
the dependency and fix the include paths.
Task-number: QTBUG-74409
Change-Id: Iab7949dd67befaa71cf2cfa041771e93f4e47160
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| |\ \
| | |/
| | |
| | | |
Change-Id: Id0bb84667482232cb648f4984e9f9e2ea4c360c6
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
[ChangeLog][QPA plugin] Added support for drawing tablets through the
tablet-unstable-v2 protocol.
Adds support for the basic one tablet, one tool, no pads scenario.
Besides the auto tests, I tested with a Huion Kamvas Pro 16 with a simple
pressure sensitive pen with two buttons. As far as I can tell, it works the
same way as on xcb on Sway and Gnome Shell.
Also tested on a Wacom PTZ-630 with a mouse, art pen, airbrush and a stylus.
Mapped the distance event to QTabletEvent::Z and slider to
QTabletEvent::tangentialPressure.
For now we send QTabletEvents even when there's a mouse or finger on the
tablet. Those should ideally be sent as QMouseEvents/QTouchEvents, but that's
out of scope for this patch, but at least we will send synthesized mouse events
if the tablet events are not accepted.
Change-Id: I93291ffa5f00fa2bb8533eddd8d873b84a3386b8
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|