| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Change-Id: I65c2c15f6a7c55192f9e6caaddf520811172ae8b
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: Ic2a11b16dfbeab60d022839b9149270de9cd5e35
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: I9e77f82f60a3a800a6b13299736a118025cf1f35
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: Ie64024ef27c985f9e1f1d78dfa162031195e9c5c
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The qt_parse_all_arguments() macro is not available as part of the
public API, but it was used to generate code for extensions, which
users need to be able to do. The result was that top-level builds would
work because they could access the functions, but when our examples
were built as stand-alone, it failed to find the function.
The fix is just to copy-paste the contents of the macro.
Fixes: QTBUG-87445
Fixes: QTBUG-87446
Change-Id: Id5a583358be4163d3cdab72d7c23804f66f45500
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
| |
Change-Id: I5d676969e0f2728a5c2af28f9dd062ab7a5c2da7
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
|
|
|
| |
Fixes: QTBUG-87959
Pick-to: 5.15
Change-Id: I1c5cd15e0dd6f81e87690e54cd4e526ce668a8aa
Reviewed-by: Tino Pyssysalo <tino.pyssysalo@qt.io>
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use same header as for the rest of the module.
This was forgotten in commit bb1b46a4862e0a5
Pick-to: 5.15
Change-Id: I7e61b43f0387a9affa9488566cb5aaca51b3bc0b
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
|
|
|
|
| |
Change-Id: Idd3bf907b532b8da093d4007205ce923cade029e
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
|
|
|
| |
As well as the MACOSX_BUNDLE properties as necessary.
Task-number: QTBUG-87664
Change-Id: I2e238dff7bdda6c47dfbe28e2a560ee4c25f3d02
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
| |
Task-number: QTBUG-86827
Change-Id: I4b1931ca63c3d589c8167d04a1cd3712f8ba30d6
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
It doesn't use any Gui classes at the moment.
It also ensures a target dependency cycle is not created on the
default_qpa_plugins custom target when the QT_QPA_DEFAULT_PLATFORM
cache var is set to 'wayland'.
Change-Id: I8958e5b993ad40294abf49f633d1ef31b6c633bb
Reviewed-by: David Edmundson <davidedmundson@kde.org>
|
|
|
|
|
|
|
| |
Change-Id: I191975d084a55a4b7b53975e03b03925ed66d1db
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
(cherry picked from commit 971ed94adbf538af5a09e4136921fc0e8cee9815)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: Ifb06103c0137c3c65bb11552bb098f7b38084acf
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: Ib6a10e04f109dbecbad874bb4948d9a33ca27f79
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
| |
The plugin name in the .pro file was not matching the one in
the code, so we would get missing symbols when trying to link
a static build against the plugin.
Change-Id: Iecc491a62f20b09ee4dfecd42a5f8d1a57211fa3
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The application will tell Qt whether the background is transparent
through either Qt::WA_TranslucentBackground or QQuickWindow::setColor.
These will set a QSurfaceFormat.
This change checks the QSurfaceFormat and issues the opacity information
so we can properly implement culling optimizations in the compositor.
Pick-to: 5.15
Change-Id: I4f7562467449eac7931f3011d4b835934212adad
Reviewed-by: David Edmundson <davidedmundson@kde.org>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
| |
Change-Id: I31627eafbf3ca7f7f26dc9f2a57a63e34ccfdf39
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
|
| |
Task-number: QTBUG-87661
Change-Id: I640a3c4281040309a6feb3585c4134190627d17d
Reviewed-by: Daniel Smith <Daniel.Smith@qt.io>
|
|
|
|
|
| |
Change-Id: If6b7b623e3d0876515aeaa71986b895373e1503c
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Qt has some internal mime types that can be translated to known types.
For example the mime type application/x-qt-image Qt can convert to any
supported image format.
The data_source_send method already converts (via
QWaylandMimeHelper::getByteArray)
However we previously only advertised the list of mimetypes explicitly
set by the application.
This brings us in line with the X11 QPA.
Fixes: QTBUG-87657
Pick-to: 5.15
Change-Id: Ia09c0cbc1f0997552bd253e79d6715ebcafee0a1
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
|
|
|
|
| |
Change-Id: Ia8b39f784d4f98e7a78208967ceda340cea0240b
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: I913ceddb3d1944ebfc579c53daa84393bcc2b1b7
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
|
|
|
| |
Otherwise tests using it crash.
Pick-to: 5.15
Change-Id: Id2ce98ed7c975144728be7566e20b6ea08fa9150
Reviewed-by: David Edmundson <davidedmundson@kde.org>
|
|
|
|
|
| |
Change-Id: I20de5328f5d9e3f1feeb86133648a81a32eecd8a
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: I238fc579acf11d4d4980381d836db59abc712338
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: Ibfc493e74c56a7e1bd327a2afbf18efe3613f48a
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: I49b12dd178666124c08e08f008d0139dc7d5e279
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In rare cases, the compositor may need to destroy its private data
associated with a wl_resource object. For example, one such case may
arise when an output has been disconnected and the corresponding
QWaylandXdgOutputV1 object needs to be destroyed. Another case is
where some resource has become inert.
If the QWaylandXdgOutputV1 object has been destroyed and there are
still wl_resource objects associated with it, the compositor will
crash due to a segfault when somebody calls xdg_output::destroy().
With this change, qtwaylandscanner will generate code that handles
destruction of inert resources behind the scenes.
Pick-to: 5.15
Change-Id: I0532f783ae53cc7861e0f08433dc2407aa9c7953
Reviewed-by: David Edmundson <davidedmundson@kde.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The object that owns the resource will not be necessarily destroyed in
the destroy_resource() function. One such case may arise if the
compositor wants to animate the disappearing of a window, in that case
we want to keep client buffer data around even after the wl_buffer
resource has been destroyed.
If the compositor accidentally accesses the destroyed resource, it'll
most likely crash because of SIGSEGV. Speaking from my experience, such
crashes are far from being fun to debug.
With this change, qtwaylandscanner will generate code that cleans up
m_resource when the associated resource has been destroyed. It can be
useful for the purpose of preventing accessing already destroyed data.
Note that we want m_resource to be valid when the destroy_resource()
func is called because the compositor may need it in order to properly
perform cleanup, for example send a wl_pointer::leave() event, etc.
Pick-to: 5.15
Change-Id: I82dab3b7eae8c282fdbad689af49622350b6c867
Reviewed-by: David Edmundson <davidedmundson@kde.org>
|
|
|
|
|
| |
Change-Id: Iba5c8dc8da48d3c1205994656585250b837a32b9
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
|
| |
Fixes: QTBUG-87313
Change-Id: I99c0b08d908cffe271b555e0696af5fba3fb8780
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
| |
Change-Id: I55c3e9898d8e10d931c767c34b4cc13ac4e9855c
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
| |
In 3a8449ff0a821ab072f66ea43fed6925090fc4d8, we added
support for IviShell in the compositor examples, but
the change hadn't been updated after the types were
moved into a separate import, so all examples fail on
start-up.
Change-Id: I08a88b775338471457060c8e45718c8da3f1e9ab
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is an uncreatable type which is used for parameters to
signals. Since it is a value-type, it should be lowercase
by convention, and the QML engine recently began enforcing
this.
[ChangeLog][QtWaylandCompositor] Changed the name of
WaylandResource to waylandresource as per QML convention.
Change-Id: I342ca70192d6276a6d8ac72b8e9f7e46af41ca2c
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fix build when Qt is built with -no-opengl:
1. Certain includes have to be conditional on QT_CONFIG(opengl),
just like the code that uses them.
2. After 585f20dce37c398d8b2e6367008e3329dac79e24, the
ClientBufferIntegration is used even with a software-raster
compositor, so we need to include this class in the build.
3. The wayland-scanner-generated header files are unconditionally
installed through sync.profile and there is no way to exclude it
there based on Qt configuration, which causes errors when doing
make install. The easy fix for this is to generate the headers
even though they will not be used anywhere.
Fixes: QTBUG-86291
Pick-to: 5.15
Change-Id: I671b6345cbc7138309e20fe62e09513f191cd3fe
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@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>
|
|
|
|
|
|
|
|
|
| |
Setting the QT_NO_INTERNAL_COMPATIBILITY_FUNCTIONS variable
in the project ensures we ported away from old API calls.
Task-number: QTBUG-86815
Change-Id: I1c11a0b2c46eb1967419233ed579fb58f1781cea
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
| |
Change-Id: Icd0a87ea48356dcc9148c5c1b03eb7eeacbbd91b
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
| |
Follows 848927b688d4709d0b71590518e2c32fe7866147 in qtbase,
where the signature of retrieveData_sys() was changed.
Fixes: QTBUG-87003
Change-Id: I8b88c8f9547e599328f40345a9fbf57c07ec31a4
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
|
|
|
|
|
| |
Task-number: QTBUG-84051
Change-Id: Ia7b75e75498722c251e1a712143daa71044e7f71
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fixes:
Project ERROR: Test config.qtwayland_client.tests.dmabuf-server-buffer tries to use undeclared library 'drm'
Project ERROR: Test config.qtwayland_compositor.tests.dmabuf-server-buffer tries to use undeclared library 'drm'
Project ERROR: Test config.qtwayland_compositor.tests.dmabuf-client-buffer tries to use undeclared library 'drm'
Task-number: QTBUG-83303
Change-Id: I3970f4e3855fcfa760493631a14adb6a16950aa9
Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Now that XdgShellV6 is removed, some older Wayland applications
(such as weston-terminal and weston-simple-egl in Ubuntu 18.04)
would assert when run against our example compositors. Adding
IviApplications let them run (although with reduced functionality).
Change-Id: If28513f23d4cb362608119db8233eb2e47f794bb
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Also adjust some incosistency introduced by
c8ec83b2851526530937ff1189575ad7b339d903
Task-number: QTBUG-86815
Change-Id: I87a52b34c8dad5af2258bf923ff4db99d64110ed
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QtGui doesn't expose xkbcommon as public dependency anymore.
QtGuiPrivate, however does now, but only in the CMake build.
Fix the qmake build by adding an explicit xkbcommon dependency to
client.pro, like it's done for the compositor.
Commented out the explicit xkbcommon dependencies in the CMakeLists.txt
files of client and compositor.
Mark the XKB packages as optional, such that qtwayland can actually be
built if the feature xkbcommon is OFF and no libxkbcommon-dev package is
installed.
Change-Id: Ia1c7a8333dc8a93b4924e03f7f2284a709a9d65b
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The change uses new API introduced in qtbase, to register
QtWaylandScannerTools as a tools package dependency, ensuring that
the proper host prefix manipulation is done to find the host package.
This fixes the QEMU CI standalone test building by using the host
qtwaylandscanner.
Task-number: QTBUG-83968
Change-Id: I67facb32e1a1e33197090fde324755c0fc880684
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
|