| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
integrations fail"
This reverts commit 137966a6293b50f6b248d130a2e36e67df49335e.
Reason for revert: QTBUG-82948
Conflicts:
src/compositor/compositor_api/qwaylandcompositor.cpp
src/hardwareintegration/compositor/wayland-egl/waylandeglclientbufferintegration.cpp
Change-Id: I77e3265c336fbcdf47eb1aa5dc07f31ec41006b5
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
|
|
|
|
|
|
| |
\qml and \endcode do not match. Amends a658a10f6a42e67
Change-Id: I9ed069a255a8843ecc4192172bbd645cea488a34
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Unconditionally generate qwayland-server-qt-texture-sharing-unstable-v1.h,
even if the header file will not be used. It is listed in syncqt.profile though,
and because of
private_headers.CONFIG += no_check_exist
in extensions.pri qmake will unconditionally generate an install rule.
Fixes: QTBUG-82569
Change-Id: I5125382f1e4fc61936515e045a7e6a4a3c608451
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
The EGL typedefs may have alternative declaration on some platforms,
such as NVIDIA, which cause build errors. Add guards around the
typedefs to avoid re-declaration.
Task-number: QTBUG-79709
Change-Id: I14f09c94e159ef51dd858f0877fe610ce6f582d4
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
|
|
|
|
|
|
|
| |
It's not safe to use qDeleteAll on lists that change when elements are
deleted.
Change-Id: I7ec5b41da9eea839d1bda88bde621cc73a27927f
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
|
|
|
|
|
|
|
| |
Fixes compilation errors with c++11.
Fixes: QTBUG-81024
Change-Id: I13ae380a122a2d52b7b362a7a39e661a22c74afc
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Using only wl_surface_frame callbacks to update the cursor does so much
more often than needed. In addition, at least GNOME and Weston fire the
callback for the cursor surface immediately, which ends up updating the
cursor at over 3000 Hz here.
Use wl_cursor_frame_and_duration to drive a single shot timer. This
function is also guaranteed to return 0 for single frame cursors, so we
can avoid starting the timer at all.
We wait for both the surface frame callback and the timer to fire before
updating the cursor for the next frame of animation. This reduces our
update rate to the frame rate of the cursor or the rate requested by the
compositor, whichever is lower.
Change-Id: I10277460ebe9b547ebaf7f73424b9ef17614107f
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The rate from wl_keyboard.repeat_info was used as if it was an interval. Fixed
by converting from key strokes per second to milliseconds per key stroke.
This fixes a regression, as repeat rate used to be hard-coded to something
sensible before.
[ChangeLog][QPA plugin] Fixed keyboard repeat rate being set inversely, so
higher rates would actually result in fewer characters per second, and vice
versa.
Fixes: QTBUG-80613
Change-Id: Ie783b90cba13dde6f37c0cd1be584d352cddfe7c
Reviewed-by: David Edmundson <davidedmundson@kde.org>
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
|
|
|
|
|
|
|
| |
Change I84c8c1008724b49b6bedb4fc3ef398e292f1c6c7 fixed the tests in
compositor/configure.json but missed the test in client/configure.json.
Change-Id: I65ad424406438baa74ca80a9418e133510142118
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It's not just popups that may have popups open on them. Always close open
popups when hiding a window to prevent dangling pointers.
[ChangeLog][QPA plugin] Fixed a crash when re-showing a popup after hiding its
parent.
Fixes: QTBUG-80562
Change-Id: I7cdac5c7a30e0add5ebf00259401e4d74626ce96
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
Reviewed-by: David Edmundson <davidedmundson@kde.org>
|
|
|
|
|
|
|
|
|
|
| |
Really use (as the comment states) the OpenGL ES 2 API for
the decoration blitter.
Task-number: QTBUG-80356
Change-Id: I4c923343e721a824521fb9b2b36be5d2de984325
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
|
|
|
|
|
|
|
| |
Mesa's eglext.h no longer includes eglmesaext.h, so copy over the typedefs we need.
Fixes: QTBUG-79709
Change-Id: I3190ef56e0e162636efea440dff7e760cf11fcd0
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently to determine if a cursor is animated or not we check the
cursor theme delay.
This doesn't work in practice as by default many cursor themes have a
delay of 50 set even if they don't animate.
This comes from xcursorgen which specifies a delay of 50ms if there
isn't anything set in the config.
(https://github.com/freedesktop/xcursorgen/blob/master/xcursorgen.c#L92)
Given many themes will have a delay we should also check the number of
images in a given cursor.
In order to do that without a double lookup QWaylandCursor needed to
return the native wl_cursor, not wl_cursor_image and move the relevant
logic.
Change-Id: Ie782ace8054910ae76e61cab33ceca0377194929
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
On some systems drm_fourcc.h is not in /usr/include, but in
/usr/include/libdrm, and that path can be found through pkg-config. This is
already done with the drm lib in qtbase/src/configure.json so this just tells
the test (and the plugins) to use the include paths for the existing "drm" lib.
Fixes: QTBUG-80075
Change-Id: I84c8c1008724b49b6bedb4fc3ef398e292f1c6c7
Reviewed-by: Andreas Cord-Landwehr <cordlandwehr@kde.org>
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
|
|
|
|
|
|
|
| |
Fixes issues with the cmake conversion tool.
Task-number: QTBUG-78177
Change-Id: I49edbcba7494d1916cf6bf976148c9433615d8a0
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add missing function and function/qml method parameter documentation,
linking issues, and other minor tweaks.
QDoc fails to parse a Q_PROPERTY if the property type includes the
keyword 'enum' - fix that in the header file for
QWaylandXdgToplevel::DecorationMode.
These changes bring the currect warning count to zero.
Fixes: QTBUG-79817
Change-Id: I302b110eb91858f06e9cd410872a12365d421a8e
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
|
|\
| |
| |
| | |
Change-Id: I24b2eade3e8946a654ef6cf3d02ea95255aa1c00
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The Wayland protocol gives no guarantees about which events are part of a
frame, so handle the case where we receive wl_touch.down and wl_touch.motion
within the same frame.
Fixes: QTBUG-79744
Change-Id: I5dd9302576d81da38e003c8e7e74da6a98def603
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
|\|
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/client/qwaylanddisplay.cpp
src/client/qwaylandwindow.cpp
Change-Id: I30ddf5305b3087b93cf4d6e562fd0146dea61cc0
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
[ChangeLog][QPA plugin] Fixed a crash when showing a window with a hidden
parent.
Now we just avoid creating the subsurface, so nothing is shown. Seems to be
the same behavior as on xcb.
Fixes: QTBUG-79674
Change-Id: Ia46fcd9a0da5aad4704816a41515cb1e128ac65f
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I5ad3663b3710b939f08798abad3bc985ab460e88
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Makes it consistent with how client buffer integrations work. Also doesn't
leave partially initialized integration around for the compositor to use.
Change-Id: I6ff898639b958f62330879a2eff1acbc7e5cdb1f
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I489267d8378cbcaf7ae7cd8eee48d4e2a71ca91a
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
|
| |
| |
| |
| |
| |
| | |
Task-number: QTBUG-78690
Change-Id: Id6208ff504894844e3eee5bb5c21ddb07c456cfe
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
|\|
| |
| |
| | |
Change-Id: Ie283d8861ecf11f21621ab18efdc780143559b52
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This happened when running qmlplugindump for QtWayland.
[ChangeLog][Compositor] Fixed a crash when destroying WaylandSurfaces and
WlShellSurfaces which had not yet been initialized.
Change-Id: Ia35cc1ccddc6146453d4dbba0ffd41a012a526e3
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
This could happen if there were no seats.
Change-Id: I4c88a5768289e2ac8a736efaa14e37d499de01c9
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We've recently seen a number of performance issues on bugreports and on the
mailing list. The problem in many of these cases, is that no client hardware
buffer plugin is used. I.e. it's just due to our fallback to CPU buffers when
the compositor is configured incorrectly or run in a setup where hardware
buffers are not available.
This patch detects when client hardware buffer plugins fail and prints a
warning explaining the issue to the console.
This will make it easier to differentiate between expected and unexpected drops
in performance and will hopefully also guide users in the right direction
to fix their setup (set the right environment variables and perhaps recompile
Qt with a supported OpenGL version).
QtWayland::ClientBufferIntegration now returns a bool indicating success or
failure. The integration is now destroyed immediately if it failed, instead of
leaving it lying around until the compositor shuts down.
There has been some slight changes in the xcomposite plugins as well, turning
some qFatals into qCWarnings and failing more softly (with the warning
mentioned above).
Task-number: QTBUG-78483
Change-Id: I55293dbb3cf72768f3982c075fcf63e79329ada1
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
It would return false regardless of whether we owned the selection.
Change-Id: I6df394d8dbceeccb6eb6d0670b4351af1a158491
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
And add a test to verify we've fixed it.
Change-Id: Ic6d5e64b3000444465935f7caf7e32ec9c4f1012
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I311a5d422f31347029795dbd2479a771ae93c01f
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
UTF-8 byte array cannot be split in random position and assume getting
valid content on resulting parts. Switched chunk size to be based
on characters, encoded size will vary but don't think that should matter.
Change-Id: Ic41ea16d2111b1620993b60fdbc6e739929f25d7
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This warning can save some time when trying to understand why some
qtbase auto tests are failing on headless Weston (which doesn't have
seats at the moment).
Change-Id: I361546611d12bff8a465af5bb103f61e80d73a15
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
|
|\|
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/client/qwaylandwindow.cpp
tests/auto/compositor/compositor/tst_compositor.cpp
Change-Id: Iacfcae577a4a99c847694ae3a2c6e3e9ae050817
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
deliverUpdateRequest
[ChangeLog][QPA plugin] Fixed a 100 ms freeze that would occur if applications
did not draw after receiving a deliverUpdateRequest().
QtQuick does this at the start of animations. This should get rid of those
backingstore warnings (and also remove a 100ms freeze before animations start
in those instances).
Fixes: QTBUG-76813
Change-Id: Id366bf4a14f402fa44530ae46e7b66d9988c14f6
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
Reviewed-by: John Brooks <john.brooks@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
As announced on the mailing list, QtWaylandCompositor licensing is
changing to GPLv3:
https://lists.qt-project.org/pipermail/development/2019-October/037666.html
Change-Id: I4bdc1aa5914e53ac760acc2b6453355af636baa9
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
|\|
| |
| |
| | |
Change-Id: If684b523436a1beec36a137c73c5c39c948f87e3
|
| |
| |
| |
| |
| |
| |
| |
| | |
Was shadowed in 11f2e7df5 when fixing QTBUG-78969.
Task-number: QTBUG-78969
Change-Id: I933373b5233ae8b45cdab7c3ffd14a1502486ae8
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
|
| |
| |
| |
| |
| |
| | |
Fixes: QTBUG-78969
Change-Id: I4ecde3725b5307251070e331c97d96df328a3772
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
|\|
| |
| |
| | |
Change-Id: Ie236fa47c23456b15414c3b3e89568b915979ebe
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Previously, we set the max length in QString character length, which means
UTF-16 characters (of potentially three bytes) counts as one character. The max
limit of libwayland, however, is in bytes (and the string itself is converted
to UTF-8).
Fix it by dividing the character limit by three because in the worst case each
UTF-16 character will use three bytes when UTF-8 encoded.
Fixes: QTBUG-78478
Change-Id: Idf4721894e0fe6f3cd92bdc6ada7b0ea4199ea63
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Effectively is a copy of the code in XCB. When the menu key is pressed,
a context menu event should be generated at the current cursor position.
The global position in the event isn't truly global as that doesn't
exist in wayland but should match client expectations.
Change-Id: Ib814883aba632ca5eec58730846e1762b680467f
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QWaylandSurface::inputRegionContains(const &QPointF) was added in a
patch release. Expose it here and start testing it.
Task-number: QTBUG-77457
Change-Id: I9e5e487e1d93a2b1873a7e219eed9ef6b0a418b5
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/client/qwaylanddatadevice.cpp
src/client/qwaylandinputcontext.cpp
src/client/qwaylandinputdevice.cpp
src/client/qwaylandwindow.cpp
src/compositor/compositor_api/compositor_api.pri
src/compositor/compositor_api/qwaylandquickitem.cpp
Change-Id: Ice0d8c7d869c9c46113d6ee6ba3adf895a71d58f
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We get around the "private" symbol found in wayland-kms.h by
substituting it with "priv", but doing that breaks the "private:"
keyword in type_traits.h.
So this patch forcibly includes math.h prior to s/private/priv/.
main.cpp:3:17: error: ‘priv’ does not name a type
#define private priv
^
In file included from /opt/poky-agl/5.0.3/sysroots/aarch64-agl-linux/usr/include/c++/6.3.0/cmath:43:0,
from /opt/poky-agl/5.0.3/sysroots/aarch64-agl-linux/usr/include/c++/6.3.0/math.h:36,
from /opt/poky-agl/5.0.3/sysroots/aarch64-agl-linux/usr/include/wayland-util.h:34,
from /opt/poky-agl/5.0.3/sysroots/aarch64-agl-linux/usr/include/wayland-server-core.h:32,
from /opt/poky-agl/5.0.3/sysroots/aarch64-agl-linux/usr/include/wayland-kms.h:38,
from main.cpp:4:
/opt/poky-agl/5.0.3/sysroots/aarch64-agl-linux/usr/include/c++/6.3.0/ext/type_traits.h:71:24: error: ‘__if_type’ has not been declared
typedef typename __if_type::__type __type;
^~~~~~~~~
main.cpp:3:17: error: ‘priv’ does not name a type
#define private priv
^
In file included from /opt/poky-agl/5.0.3/sysroots/aarch64-agl-linux/usr/include/c++/6.3.0/cmath:43:0,
from /opt/poky-agl/5.0.3/sysroots/aarch64-agl-linux/usr/include/c++/6.3.0/math.h:36,
from /opt/poky-agl/5.0.3/sysroots/aarch64-agl-linux/usr/include/wayland-util.h:34,
from /opt/poky-agl/5.0.3/sysroots/aarch64-agl-linux/usr/include/wayland-server-core.h:32,
from /opt/poky-agl/5.0.3/sysroots/aarch64-agl-linux/usr/include/wayland-kms.h:38,
from main.cpp:4:
/opt/poky-agl/5.0.3/sysroots/aarch64-agl-linux/usr/include/c++/6.3.0/ext/type_traits.h:114:24: error: ‘__if_type’ has not been declared
typedef typename __if_type::__type __type;
^~~~~~~~~
Change-Id: I2b42f37d5565833adcc065725119ab4912da82b0
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Since xcomposite-egl depends on the egl_x11 feature in qtbase, then this
should be explicit.
Change-Id: Ic1dce9526fb50f6f56e18abd58b69bcaed6d204e
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Touch now accounts for fractional input in the same way as for pointer
input.
Task-number: QTBUG-77457
Change-Id: I18e633bf7c7033187a641f757b8b24f52479971a
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
| |\ |
|
| | |\
| | | |
| | | |
| | | | |
Change-Id: I5d587b79b96d2b44f1975419a658c259c63fa30d
|
| | | |\
| | | | |
| | | | |
| | | | | |
Change-Id: Ic73262146f51a9e7f4ffab46511654ad70c4f514
|