| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
Fixes: QTBUG-75920
Change-Id: I29d84b487afb2a90b8a633abce2fcc39ca75adae
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
|
|
|
|
|
|
|
| |
Change-Id: I35b995cc2273a285b0c89be86841b5d38630b493
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
|
|
|
|
|
|
|
| |
In 8b69d52d I forgot to also check for import statements in the .qdoc files.
Task-number: QTBUG-74042
Change-Id: I385bbab50b3ffdee174f0542b3692d21ef57e08f
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
|\
| |
| |
| | |
refs/staging/5.13
|
| |\
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/client/qwaylandwindow_p.h
Change-Id: Ic4104c48267d1682bb58d6b38afc833c39515eae
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This fixes an issue with the XdgShell documentation where the import statement
at the top was too low (1.1 instead of 1.3)
Later we should make it automatically follow the Qt minor version (see
QTBUG-74042).
Fixes: QTBUG-73256
Change-Id: Ib280998fe9c65168854e517b8555c5cd9b17cdd7
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The Wayland plugin now takes full control over delivering update request and
implement frame callbacks for both egl and shm.
[ChangeLog][QPA plugin] The non-blocking version of eglSwapBuffers is now used, if
supported. This fixed a bug where minimized windows would block the event loop.
[ChangeLog][QPA plugin] Windows that don't get frame callbacks from the
compositor within 100 ms are now set as not exposed. This should stop most
clients from rendering unnecessary frames to minimized or hidden windows.
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.
QtQuick and other applications often depend on blocking swapBuffers to throttle
animations. If the context's surface format has a non-zero swapInterval, try to
emulate a blocking swap.
Fixes: QTBUG-69077
Change-Id: I3c6964f31a16e9aff70b8ec3c5340e640a30fef2
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Fixes: QTBUG-75329
Change-Id: Ifdd93e28ebf971ab10f7d051c2da56d115f2068b
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is required to trigger more complex shortcut sequences. For
example, with 'us' keyboard layout to enter '%' or '+' you have to
press 'Shift' button. Previosly the following shortcuts could not be
triggered:
'Shift' + '5'
'%'
'Ctrl' + '+'
'Ctrl' + 'Shift' + '='
The same function also ensures that these shortcuts work with non-latin
keyboard layouts.
Change-Id: Id50c7bb28cf76b9f7a861ced7894b2cacae6ed65
Reviewed-by: David Edmundson <davidedmundson@kde.org>
Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
It was already available under 1.13, but this ensures it will stay
available for future minor versions of Qt and also use the latest minor
version in the examples.
Fixes: QTBUG-74042
Change-Id: I4a6a4f762ed0af565af32931971a1df7f33a3ba1
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
[ChangeLog][QPA plugin] Fixed a bug where QGuiApplication::screens() and
primaryScreen() would return initial screens in the reverse order they were
added by the compositor. QGuiApplication::primaryScreen() will now return the
first output added by the compositor.
Calling forceRoundTrip in registry_global() meant it would call itself
recursively if there were additional wl_output events in the queue. This in
turn meant the screens got added in the reverse order. Instead we now add the
screen to a list of not yet initialized screens and add it properly when we've
received the required done events (wl_output and possibly zdg_output_v1).
This also has the added benefit of wl_output hot plugging not calling
forceRoundTrip().
Fixes: QTBUG-72828
Change-Id: I35c6959d6c219f65fd19d571a25b5a6cdb3f741b
Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
It's not clear to me why it was failing in CI on Ubuntu 14.04 back in
2015. I can't get it to fail on my machine, and the linked logs in the
bug report are no longer available.
Let's try to remove the blacklist and fix it if it starts failing again.
Fixes: QTBUG-45108
Change-Id: I7a73bdbcee2e544480af71db135ecd73122f747c
Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fixes
Project ERROR: Library 'wayland-egl' is not defined.
in linux-dmabuf-unstable-v1.pri
Change-Id: I8a618c7cfb61340ea21535757daacb9141863f72
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I42bca2a6d5a687217c3dde9bd80394bc95e361f8
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
The function name also was not the best :)
Change-Id: Iee853a77ac0ad210f2dff70b55df2ba534fd355b
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QtWayland can benefit from sharing code with X11.
This will fix issues that have been reported and fixed on XCB
a long time ago.
Task-number: QTBUG-65503
Fixes: QTBUG-71301
Fixes: QTBUG-66497
Change-Id: I09cbf8e1c9cf29e8d7f46b97bc2f11d6e91b61a5
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
|\ \
| |/
| |
| | |
Change-Id: If769004739118c2844c87a6ac81f558868210943
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
d65783c broke compilation for code that includes qwaylandshell.h, but not
qwaylandshell_p.h, because QWaylandShellPrivate is an incomplete type and we
don't know that it's convertible to QWaylandCompositorExtensionPrivate by just
looking at the public header. And we can't move the QWaylandShellTemplate
constructors to the cpp file because it's a template class.
Change-Id: Ia2d093de74429ace33d08b91743cbc8b7e7befa8
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
| |\
| | |
| | |
| | | |
Change-Id: I3e82d68cead71171608ab6a46f124e874a4d7d53
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
+ 7206b4e8b6e10f5623b19ca132f538066c96aab5 Fix the build with -no-gui
+ 489fedaa320a4941a9fc6a17df1a791c93270bb8 Compositor: Call eglUnbindWaylandDisplayWL when destroying the compositor
+ 3200e86cefd9a83cea45c7cab589bfbf1ff63f4f Client: Fix incorrect damage region for window decorations
+ 7a0956a89a559e5a73a659fcc08001cefa01d9bd Bump version
Change-Id: I770edad3ca0728ce18a14a02284231fe14c8e68c
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
- Document the magical 8 keycode offset in QKeyEvent::nativeScanCode()
- Check if we are working with the expected keymap format.
- Rename sendKey() to handleKey() as that is typical naming convention
for events that are passed to QWindowSystemInterface.
- WL_KEYBOARD_KEYMAP_FORMAT_NO_KEYMAP is in the bundled xml so use it
in send_keymap()
- Rename toWaylandXkbV1Key() to toWaylandKey() as previous name was
incorrect.
- Remove "Generic fallback" in keyboard_key() as it was non-functional,
you can't expect any useful output when mapping scan code directly to
Qt::Key. It was not working in 5.9 (did not check beyond that) and
no one has complained. It is safe to assume that the fallback code path
is dead and can be dropped. To use HW keyboard with wayland, you need
to build with libxkbcommon. We require this on XCB since Qt 5.1.0, so
it is not an unreasonable requirement for Wayland.
- Cleanup auto-repeat key handling.
- Cleanup "#if QT_CONFIG(xkbcommon)" checks.
Change-Id: Ie9fcc628621487fb58bc55dd595bf0d51eedfc92
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
See xkbcommon/xkbcommon-compat.h
Change-Id: I2a70e14481db227fc0be657fbcf4f6550d62e7e8
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
- Use smart pointers from xkbcommon_support-private.
- Avoid unnecessary strdup()/free() calls.
- Don't recreate context. And move it into qwaylandcompositor so
it can be shared between seats. It contains things like a logging
level and include paths.
Change-Id: Ibea29f2874cc147a8e08f15192831fa42ca58f48
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
|\ \ \
| |/ /
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/client/qwaylanddisplay_p.h
Change-Id: Ie84862aa41623c11abd8f882f428054f30062c77
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I1d4bceeb87b7e95b7b4b9c9885e06052bd7536e9
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Because some shells don't allow attaching buffers before configure, we need to
not be exposed until we know that we don't want a shell surface.
Change-Id: Ida7101a99f953d02cf6401e4ea8d28cfabd6e102
Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
Reviewed-by: David Edmundson <davidedmundson@kde.org>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
- Use smart pointers from xkbcommon_support-private.
- Remove needless strdup() calls.
- Don't recreate context. And move it into qwaylanddisplay so it can
be shared in future between several keyboards. It contains things like
a logging level and include paths.
Change-Id: I5d1f667e710046e6b62aa2caf82fdb2decc24520
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The existing solution was parsing compose tables on startup, it is
better to lazy initialize the compose table/state on a first key press,
instead of doing it on an application startup. This logic is inside of
the compose input plugin.
The existing code did not utilize correctly how Qt handles complex text
input. It used libxkbcommon-compose APIs to compose user input and then
passed the same input again to QPlatformInputContext (from
QWaylandInputDevice::Keyboard::sendKey), which was erroneous. This also
means that code was forcing "xkb compose", and did not respect QT_IM_MODULE
at client-side.
From commit that added compose key handling (57c4af2b18c0fb1d266b245a107fa6cb876b9d9e):
"We should expand on it in the future to handle things like resetting
the compose state on text field switching".
This is now handled by properly utilizing Qt IM framework.
Converted QWaylandInputDevice::Keyboard::sendKey into a class member function
to avoid adding one more arg (mXkbContext) to the already long argument list.
That whole function should be simplified, but that is out-of-scope for this
patch.
The reworked code uses qxkbcommon support library to reduce code duplication
between platforms and to unify behavior.
Some users might mistakenly think that this patch introduces a regression
with Qt on KDE, but it is actually a KWin/Wayland compositor bug:
https://bugs.kde.org/show_bug.cgi?id=405388
The work around on KDE is to use QT_IM_MODULE at client-side to select
input method, as KWin compositor over the wire supports only the qtvirtualkeyboard
module. Setting this envvar is not someting out of the ordinary for users
on Linux. Input method handling at compositor-side is new feature and
clearly not very well supported yet.
Task-number: QTBUG-65503
Change-Id: Ie511d950396fa2fb6cbe6672996cee9791f3ab11
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The shell integration is initialized lazily, so it's not possible to send ping
events to the client before the first window has been initialized.
This adds a simple window to the pong test.
Change-Id: I13b4a9cb802b7abe18bfc23cf8c75eb873ded3ca
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The surface(), may be a leftover cursor surface from earlier tests. Check for
an xdgSurface instead, as those are verified to be cleaned up between tests.
Change-Id: I6a2b402130814e896d335787fcb90fd8d57cafb7
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
windowGeometry is an existing method in QPlatformWindow with an entirely
different meaning to the newly added
QWaylandWindow::windowGeometry.
This led to the existing call in resizeFromApplyConfigure calling the
wrong method.
Change-Id: Ib344cf09178e77e5b4d5427325d840346663ec9d
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* Updating this topic to only mention QtWayland. The general Wayland overview is now
moved to "Wayland and Qt".
Task-number: AUTOSUITE-679
Change-Id: Ica86edc3ffd162ea722fd97e2b47a18d702bb463
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
If the platform integration provides the wl_display, it should be the platform
integration's responsibility to destroy it as well.
Task-number: QTBUG-74879
Change-Id: I18999a5bd8cdc2900cac86f156f2adaaebf86158
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
|
|\ \ \
| |/ /
| | |
| | | |
Change-Id: I16bc2e214dda4c8d6c9fc3568af60068815fc558
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
If the public API has inheritance relationships, this should be
reflected in the private classes too.
Otherwise the d_func will cast to a wrong type, leading to crashes.
Change-Id: Iad2dccad4b63326e6b108a44c708ab51f0784678
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
| |/
| |
| |
| |
| |
| | |
Fixes: QTBUG-72696
Change-Id: I43f0a02a4447238aa93142981d22597c452790fd
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This allows to drop all the StateGuard code, reduce OpenGL state changes
when blitting and to also support windows that requested an OpenGL Core
context.
Change-Id: Ie507a14a04b3d26cdf31f68973057553fa8493bf
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is an ammendment to 01e1df90a7debd333314720fdd5cf6cd9964d796 in
qtbase.
Task-number: QTBUG-74816
Change-Id: I493ff0f64f765683d2398c32626ada28d7f202b5
Reviewed-by: Liang Qi <liang.qi@qt.io>
|
|\ \
| | |
| | |
| | | |
refs/staging/5.13
|
| |\ \
| | |/
| | |
| | |
| | |
| | |
| | | |
Conflicts:
.qmake.conf
Change-Id: Ic6c2ec0c4d0a0d4e0c94857020d3804ce9cf9ff6
|
| | |
| | |
| | |
| | | |
Change-Id: I628b1d9c25ed6fb2fb62563a214040797df0758f
|
|/ /
| |
| |
| |
| |
| |
| | |
* Added some missing documentation
Change-Id: I214b108c084aeff501bed85845153aa80fa61e6d
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Use qCWarning instead of qWarning if logging into a category. This
fixes compilation with QT_NO_WARNING_OUPUT, but in addition also
avoids unnecessary string formatting if the category is disabled.
Fixes: QTBUG-74359
Change-Id: I0e316a833f3f7d4a9122377a1154e739bcb080b1
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I146dd41d54889af694b829bf1e6d47e03e892b27
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Commit 2824a71e5c28ec1843edc056f2c17c6274378f1d silenced the qdoc
warning about the bufferLocked property, but it did not fix the
underlying problem that the existing documentation would be shown.
This patch reverts the change and fixes it by making the \property
command match the name of the property, not the getter. Similarly, the
\qmlproperty annotation was missing entirely.
Change-Id: I66281ea4df0162b14ebfab15f1cc18162ea0e8ef
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I57e89057a238064e1270d036b656d261b85e50e7
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
* In the header file, this was uint32_t
Change-Id: I5c2e343a2f8ec04b71ef4db577062b5c76f64c72
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
|\ \
| |/
| |
| | |
Change-Id: I6d63f7390a3d26ce8c63c8e5de63b673d6831395
|
| |\
| | |
| | |
| | | |
Change-Id: Ib5989d03612370116193266742e26094700be5c9
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: Iec24d90c7b6fb4c2eb88b440bbf104d6ef94a25b
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|