| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
| |
| |
| |
| |
| |
| |
| | |
This used to cause protocol errors.
Task-number: QTBUG-71734
Change-Id: Ic937210fc42c93f1d411fb0fb4f269de01f07b5b
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
[ChangeLog][QPA plugin] Fixed a bug where pasting from the clipboard would
prefer ASCII over UTF-8, causing loss of special characters.
The bug was fixed in QtBase, this is just the test.
Task-number: QTBUG-54786
Change-Id: Ibe08bf455ad0be8fdd7a3e082dec6131f19c25d6
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: Id89ec40a3f484808385401829a09a43781a1bed7
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: Ib28be5277af9145834c7808f993c747e21845616
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
[ChangeLog][QPA plugin] Fixed a bug where window decorations were to small for
for the content when QT_SCALE_FACTOR was set.
Fixes: QTBUG-72993
Change-Id: I1ed26e038c27f7c4454a6bcc04f0849e4af789e7
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
[ChangeLog][Compositor] Add deprecated support for the deprecated wl_scaler.
Some clients are stuck on the unofficial Weston protocol wl_scaler instead of
the standardized and stable wp_viewporter. This implements optional support for
wl_scaler.
This patch has been written to be easily removable in Qt 6, and touches a
minimal amount of other code.
The implementation can be tested using the new manual test compositor:
tests/manual/wlscaler.
Weston 1.11.1 has a demo client named weston-resizor, which can be used to
test. Note that although newer versions of Weston also have weston-resizor,
those versions use wp_viewporter instead of wl_scaler, so you really need
1.11.1 or earlier to test.
Fixes: QTBUG-69635
Change-Id: Id572e28044cd764eaf63b1259a92bc589711c39d
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The plugins subdir which includes the platform plugins was not built without
the feature wayland-server. Moves the checks inside the plugins folder to make
it build.
Also disables some tests that won't pass without the compositor API.
Fixes: QTBUG-73169
Change-Id: Ie68badd2ff62ee544c31edaff7c732082e0a4115
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: Ib9dbad2e7312dab94cecbc1a14315dcb47c8c46a
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
.qmake.conf
src/3rdparty/protocol/qt_attribution.json
src/client/qwaylandintegration.cpp
Change-Id: I475889f2817c7094b68a2948fdd34ddf8b0c486f
|
| |\
| | |
| | |
| | | |
Change-Id: I6ca92b605c55b0c8941d42e40fad624f00a65cd3
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
+ dccec9b282ae15fa65fd61698dd1cb47325e5c8e Bump version
+ 2b79a41096a0d626659f5647743005a963c3fe7d Client: Don't require an input device for non-grabbing popups
+ 685591a4e9f295e6bcc1859704a0b6109af255ce Client: Rename m_topmostPopup to clarify its goal
+ 49ea0fc16a499514ebc0c254a983e86bcda88dd6 Compositor: Fix crash after surface destruction
+ fa57079a227b92218c5b23dafdcb7f547acb635d Don't crash if view is deleted from surfaceDestroyed signal
+ 9ce3088d226fddc18bcac170fa5cc5be3c29e371 Add changes file for Qt 5.11.3
+ f563e0e196d74d0884b4e599729e36f9f172f0e2 Client: Fix incorrect enter serial in set_cursor
+ b81cf22561600e96113270114a8d5fab750ad64f Fix build due to missing QDebug include
+ 4fa1ed2dfe7ae42b940d6d28e4c1066853e7768a Fix unused variables, in preparation for adding warning_clean
+ 4aeb655d161250c317bdb5a6a86e6a6b01ef5685 Fix compilation with gcc 4.8
+ fb0109c6acb8269d1fcdc20b7494c455ff2c74ad Scanner: Add include for QList
+ a8fed20181729cae70de43079c4a34ad1780cfd7 use new feature name xkbcommon_evdev -> xkbcommon
+ d25b3b7f1059d5561bce3efe7ea903ea76d4e888 Fix invalid QWaylandOutputMode comparison operator
+ 7f7502865f980a7d72dc04ffc5f25eecf0d414a8 tests: minor fixup in tst_WaylandCompositor::comparingModes()
+ 88041986f448c14871fac76ee01280736af3f382 Fix scaling if wrong attached window size is returned
+ 99526a2227e8a0bccffb504b10f72aeee47e290d Specify X11 dependency explicitly
+ 1dc85b95ab0adc1e805d059e2c35c671ef790011 Client: Full implementation for frame callbacks
+ f2dc41b5babf0a7b51a1735f290540d7be695042 Compositor: Fix crash in QWaylandSurface::waylandClient
+ 09b6fcf3ec501cb94d89833745264a16c2a74209 Client xdg-shell: Fix protocol error for tooltips on popups
+ 00c0bad3184e32ff0b1dd799b7ef121eaa737c0d Client: Fix various input related crashes for events without focus
+ 34e03bf56cb080f3fae7dd31f0eb1d72e3bb518c Client: Fix incorrect damage for decoration edges
+ 143a6ad82ea0ded69da482eff1750082fd5b2a6a Client: Don't assume windows have surfaces in QWaylandInputContext::update
+ 024be9dcae26a0d88ffb76f9fca252f2135ad7c9 Bump version
+ c584db87cf924f3a3d883288de8c2f4210186af6 wl_eglstream_controller implementation for NVIDIA
+ 6258c4994200348220be6f35667a2c0f4b705539 Revert "Client: Full implementation for frame callbacks"
+ 280cc2befba99ffde25fe7c287174143a9539d32 Fix flickering (black frames) of wayland clients on NVIDIA
+ 657b6ce0677e05984a2f11900c66dbca775ff313 Fix black client windows when not using window decorations on NVIDIA
Change-Id: I902f66c4b1d61e967264f20ed0884b3908d612cc
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
QWaylandGlContext::makeCurrent() tries to be smart and only call
eglMakeCurrent() if really needed. This causes problems on NVIDIA where
the call is always needed.
Change-Id: I08d881d69f79a0fd4ea83a65780052e269a566be
Task-number: QTBUG-71697
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When using the threaded render loop rendering the texture we acquired
from the eglstream is done in a different thread. This rendering needs
to be finished before the next acquire call for the eglstream is done
otherwise we might end up rendering a broken (black) frame and see
the client flicker.
To fix this, make sure to send the frame callbacks after the rendering
was completed and not before the rendering starts.
Change-Id: I5a75914d14d2df7fa8b6bbd526f87e3ef6208cd6
Task-number: QTBUG-71697
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This caused regressions because QtQuick depends on swapBuffers for throttling
animations. We probably need to emulate a blocking swapBuffers and continue
after a timeout, but until we have a patch for this, revert this to avoid
releasing a regression.
This brings back the bug with a frozen event loop when a surface is waiting for
a frame callback, but this is preferable to a regression.
This reverts commit 1dc85b95ab0adc1e805d059e2c35c671ef790011.
Fixes: QTBUG-72578
Change-Id: If6435a947aae5e9fd775404649a392bfafe9130a
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This adds a new client buffer integration: wayland-eglstream-controller,
which contains the EGLStream logic from wayland-egl, and additionally
uses NVIDIA's wayland-eglstream-controller protocol to avoid the issue
where the stream is not ready at the time of first buffer attach.
This is not enabled by default. Can be used like this:
QT_WAYLAND_CLIENT_BUFFER_INTEGRATION=wayland-eglstream-controller ./pure-qml
Fixes: QTBUG-71697
Change-Id: I73bb2a8fe9852afe1b5807cbb8c35dc4c7624dad
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I1a23d6ab5a455603990db269446c15a012c0f879
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Seems like it was just a left behind by mistake in fffa0f76 back in 2011.
Fixes: QTBUG-73070
Change-Id: I3055d2c72cd6752de9917d765684ff049c0dbc6c
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This is an example similar to minimal-cpp, but for xdg-shell instead of
ivi-application. Eventually it should replace qwindow-compositor as the
main c++-only example compositor.
Task-number: QTBUG-69937
Change-Id: Icac70e4af8f97c5f628d7e30279249210772a1c1
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
| | |
| | |
| | |
| | | |
Change-Id: Ie131c3bd37c3a3e7c0c2ca186bd90500d6254577
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Test custom surface destruction as well.
Change-Id: Iad980858c3473e784cd0611136042bfacd09bddf
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Now that we've stopped including the system libwayland protocol headers, i.e.
wayland-client.h and wayland-server.h, it should be safe to update the protocol
definitions to the latest version.
Note that this just updates the protocol definition, the implementations for
the various interfaces are still using the old versions.
Change-Id: I961e762553756e11e4c5b33c74101f0c16661232
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
These signals were never tested, in fact there was a bug where
outputAdded was not emitted if a new output was added with
QWaylandCompositor::setDefaultOutput() that was fixed
in 9875a14daaec12ca65d3cb4a2aaf2c4582e6191d.
Also while we are here, set the default output for TestCompositor.
Change-Id: I21c2ff2f51f52b38f2dc992bcc9c03fd3071e82d
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
From the protocol: "When the xdg_positioner object is used to position a child
surface, the rectangle may not extend outside the window geometry of the
child's parent surface."
Adds a warning for both v6 and stable when clients do this.
Change-Id: I575a89785f45c080d488be748ec099569b38ea9b
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Change-Id: I9ae028cda8f8a874eb8379f16a9ef7facf0ed85d
Reviewed-by: David Edmundson <davidedmundson@kde.org>
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
It seems clients are sometimes sending more geometry events than needed,
causing the tests to fail. Skip the tests for now to make builds pass again.
Fixes: QTBUG-73130
Change-Id: Ia9f82ddd3561d84119dc4d9f8ef15ebc48964148
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Adds handler for the new name event and updates tests accordingly.
This means QScreen::name() will now typically return strings like: "VGA-1",
"WL-1", "DP-2", "HDMI-A-1" instead of "Screen25", "Screen26", "Screen27" etc.
Change-Id: I3d5748a2fd0d772e2344ac53f0ed808790a84ba5
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I4b460bd1e5ac8541dcbf9afb2782187218d257e1
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Ignore more files resulting from the build process.
Glob all scanner generated files, and add exceptions for pregenerated files.
Change-Id: Ica60951356bdc145ebd66f5e6fc6bf4e23f2aa72
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Also removes overlapping old tests and adds a (currently failing) test for
QTBUG-72828.
Task-number: QTBUG-72828
Change-Id: Id93d5872ed1c4f181935c1e493e9d8d0ae9cfaf3
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Fixes warnings like:
QQmlExpression: Expression qrc:/Chrome.qml:13:5 depends on non-NOTIFYable properties:
Chrome_QMLTYPE_28::compositor
[ChangeLog][Compositor] Added a missing change signal for
WaylandQuickItem.compositor.
Change-Id: I9f372c46778d0851a82a8dcbb0751a0e12f825b1
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Where it makes sense, default init variables to sensible values
Change-Id: Ie2aa6ab79a6a3c8322bb0ff804f340f7ffd1c1d1
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I2f336a81682317b1f7dc939d911906b4db60a386
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Send window geometry every time the window is resized.
[ChangeLog][QPA plugin] Send window geometry every time the
window is resized.
Change-Id: I8f3824c31455345be2b582e7d3a55077b47851b6
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I60605f494eebfde9a7737911eefe69a93041ced5
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Send minimum and maximum size hints to compositors.
[ChangeLog][QPA plugin] Implement minimum and maximum size in
the xdg-shell and xdg-shell-v6 shell integrations.
Change-Id: I631c3348c8333d7a246b21228a92c436f5adb5dc
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
[ChangeLog][QPA plugin] A window menu is now shown when the window decorations
are right-clicked (if supported by the compositor).
Change-Id: I13bf0c8cd91a6e5a3b44e47114dfdc2ff0e97f3a
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
|
|\| |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
.qmake.conf
Change-Id: I5f8ba96b550b6d326a097fce33863caed01c05d1
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When running with xcb_egl, the platform plugin's native interface is not
always ready immediately after the QGuiApplication constructor is done.
Calling QWaylandCompositor::create() at the time of initializeGL()
makes sure that everything is ready.
Change-Id: I9e5e434ff85b92a45caddfd393439a4ffe3bcdc6
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
| |
| |
| |
| | |
Change-Id: I2bd09b3be5456ce3936644ec6079fda57483c1ee
|
|\|
| |
| |
| |
| |
| |
| | |
Conflicts:
src/client/qwaylandinputdevice.cpp
Change-Id: I4f985d6e47b4199a940ff1cd40e65165c28e49b2
|
| |
| |
| |
| |
| |
| | |
Fixes: QTBUG-72751
Change-Id: I6018a34d4a4cfcbdef5d6cd05d2d4ef12846efea
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
[ChangeLog][QPA plugin] Fixed a bug where surface damage for window decorations
was outside the surface.
Fixes: QTBUG-72818
Change-Id: I32d00174f1c308952a98bdb55731eb77be54f331
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Some compositors fail to send wl_pointer.enter events before button and axis
events. This led to nullptr dereference crashes.
[ChangeLog][QPA plugin] Fixed a crash caused by compositors sending incorrect
pointer events.
Fix it by adding nullptr checks before trying to access the pointer focus in
case the compositor didn't send enter, or if something deleted the surface
(it's a QPointer).
This means we are now silently ignoring events for misbehaving compositors
(which is probably not optimal), but I don't see how we can easily distinguish
between a missing enter and a deleted QWaylandSurface without adding more
bookkeeping overhead.
Ditto for wl_keyboard.
Fixes: QTBUG-72235
Change-Id: I4bfaa3da4ebae37b059e1e450975566559edf40b
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
[ChangeLog][QPA plugin] Fixed a protocol error that used to happen when closing
a menu with an active tooltip.
Fixes: QTBUG-71734
Change-Id: I784fef08494fabaa4debea11f51116cf9de1f86e
Reviewed-by: David Edmundson <davidedmundson@kde.org>
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
|
| |
| |
| |
| |
| |
| |
| | |
[ChangeLog][Compositor] Added support for the viewporter Wayland extension.
Change-Id: I1d33652fab6ff18da4ae1ae3497f0ca43517420a
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
|
|\|
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
README
src/hardwareintegration/client/xcomposite_share/xcomposite_share.pri
Change-Id: I7cbbf39916821f0f1749e3ccab3151f68f4aa1ac
|
| |
| |
| |
| |
| |
| |
| |
| | |
Adds a test for customSurface which crashed without the fix.
Fixes: QTBUG-72688
Change-Id: I30c50e474379c61b90b2dd294eae9a7c88c105a2
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The Wayland plugin now takes full control over delivering update request and
implement frame callbacks for both egl and shm.
Fixes two bugs:
[ChangeLog][Client] The non-blocking version of eglSwapBuffers is now used.
This fixed a bug where minimized windows would block the event loop.
Also, when we relied on the QPA version of requestUpdate, we would sometimes
deliver one update request while we were waiting for a frame callback. When we
implement the fallback timer ourselves we can make sure we only deliver the
fallback if there are no pending frame callbacks.
Fixes: QTBUG-69077
Change-Id: I2d3a6896c32e63d8520b57448a3601a817816a91
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
Fixing build issue now that XComposite no longer pulls in X11.
Change-Id: I4c5e77188cf167716aa64f2575d70ac2ca37608b
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Some drivers may return wrong size from wl_egl_window_get_attached_size
and can therefore ignore wl_egl_window_resize calls. This patch
introduces a new env variable QT_WAYLAND_DISABLE_RESIZECHECK to skip
the size check and to force resizing of egl window on create and resize
events.
Task-number: QTBUG-70079
Change-Id: I9be97480088c63ae0a6dc3d1d1e026b0683a627e
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|