| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
+ e008c69e231169425e2ae602deabc0eb749376ab Fix compile error with -no-opengl
+ cde2fe3fba31b9b8d258f0663bc34009fd769efd Compositor: Map touch ids to contiguous ids
+ af9ec8a76d7e62444fadb518256fc58723fe5186 Client: Don't add all windows to activePopups
+ af00b80178138e55be7ea892a118e6357798e0f2 Don't crash if we start a drag without dragFocus
+ ec9057081f1094fbfeb11449bc533997731e4079 Client: Fix stuttering when the GUI thread is busy
+ a4e6f88f50d1a1dd56df77ce8b07b98aceb20ddc Client: Reset frame callback timer when hiding a window
+ acba020f1b6725e2d431636b1a2cfb075672ddcb Bump version
+ 5ca9f28f4b272d3265b97c16029071a0070195a6 Fix compilation with C++20
+ 25a46893782979c74f57ab725b1ce55fbfc4fa2f Fix the build when libs didn't get built
+ 3d5cec736ce17c6b40c52bb8966f8fc40b742664 Fix expose event compression
+ 43d8a3091894ceb4ab934167b2f3eda27564eb6d Backport texture sharing for NVIDIA
+ 86b0d64b6c44fd8c3c3dd133bf52239f5520e524 Client: Add safer fromObject function to scanner
+ 2838c7f33a0b2f40b026d00b3e00139f94c358e7 Fix incorrect conversion to straight alpha pixel formats
+ 3e96fa1df8d2bc0ec8ab66abae1f20439b786b40 Client: Fix large clipboard pasting
Change-Id: Ie61a19a3adb04e1280b2f70839778cf2c708a85b
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
|\ |
|
|/|
| |
| |
| |
| |
| |
| | |
Conflicts:
src/client/qwaylandwindow.cpp
Change-Id: I89fefe5bfc247eeaad3981850efa0faaab3cb145
|
| |
| |
| |
| |
| |
| |
| |
| | |
Qt applications should not call exit.
Task-number: QTBUG-75779
Change-Id: I91190b10f8c8e111996cd73283061e6ceaa6b1f6
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When Key_Return is sent from Qt VirtualKeyboard it will send it as \n
and not \r which means it will be interpreted as an unknown key. So since
we know it will be able to map it in this case, we explicitly account
for it so it can be mapped to the right key.
Change-Id: Id5d8d9653e78975203f80790b7a3d332f0e011fa
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This race happened because QWaylandIntegration::clientBufferIntegration (which
lazily initializes the integration) was called from numerous places including
code that may run on different threads without any kind of syncrhonization.
An example of this is Qt3D, which indirectly and simultaneously calls
createPlatformWindow (from the GUI thread) and createPlatformOpenGLContext
(from its render thread), both of which needs to use the client buffer
integration.
In this patch, we fix it by first checking if the integration is initialized.
In that case, it's safe to use it. Otherwise we lock a mutex, re-check if
initialization has happened on another thread in the meantime, and then finally
we initialize it.
This way we should avoid the expense of mutex locking after initialization is
complete, while still staying race free during initialization.
Fixes: QTBUG-76504
Change-Id: I327840ebf41e014882cb659bc3e4fafb7bdb7a98
Reviewed-by: David Edmundson <davidedmundson@kde.org>
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Recent changes in QtBase means QtWayland will have to follow the convention of
the rest of the QPA plugins and have QPlatformSurfaceEvent::SurfaceCreated and
SurfaceAboutToBeDestroyed follow the QPlatformWindow (QWaylandWindow) lifetime
and not the lifetime of wl_surface.
Some users were depending on those events to get notified about wl_surface
changes and used QPlatformNativeInterface in order to get the window's
underlying wl_surfaces in responses to the events.
The good news is that QPlatformNativeInterface is private (QPA) API, so we can
provide an alternative by exposing new private API, which is what this patch
does.
The QWaylandWindow::wlSurfaceDestroyed signal already exists in the dev branch
(introduced in eb66211ea9), so this is a backport of that signal as well as an
addition of a new QWaylandWindow::wlSurfaceCreated signal.
Task-number: QTBUG-76324
Change-Id: Ibc5748474cd52f5b9461fd1ad6cef973491174b1
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
|
|/
|
|
|
|
|
|
|
|
| |
The wl_surface can be destroyed whilst a render is happening. Calling
wl_surface::frame after the window is reset can crash as wl_surface is
null.
Fixes: QTBUG-77747
Change-Id: I139a9b234cb6acba81d6c1d5fa58629904a25053
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With the non-blocking file opening, when no data was available in the
pipe, read could return 0 even though we were not at the end of the
file. This resulted in truncated data when pasting the clipboard.
This patch uses select to block until a file is available, removing the
polling sleep. This means the file can be safely opened in blocking mode
whilst keeping the timeout feature allowing read to work as intended.
Change-Id: I936aa85e9f25197e7abe6fb3fa729b618c00924d
Reviewed-by: David Faure <david.faure@kdab.com>
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, QWaylandSharedMemoryFormatHelper::fromWaylandShmFormat(WL_SHM_FORMAT_ARGB8888) would
return Format_ARGB32, i.e. the non-premultiplied version, while, according to the wayland-devel
mailing list (https://lists.freedesktop.org/archives/wayland-devel/2017-August/034791.html), all
Wayland RGB-based pixel formats with alpha should have premultiplied alpha.
This patch makes sure we return the premultiplied variants for ARGB8888, as well as for ABGR8888.
Using a switch instead of the array also allows us more freedom to choose the preferred format in
other cases where multiple QImage formats map to the same wl_shm format.
While being wrapped and exported as QtWaylandClient::QWaylandShm::fromFormat (private API), this
conversion function doesn't seem to be used anywhere, so this patch shouldn't cause any changes in
behavior for projects that only use public API.
Change-Id: Ie09f9a339b4540dd0383a72b3c951eb8c93e3ab4
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Makes the scanner produce generated static functions such as
QtWaylandClient::wl_surface *wl_surface::fromObject(struct ::wl_surface *object);
Which casts from the wayland-scanner generated types, such as struct ::wl_surface *,
to types types generated by qtwaylandscanner, but performs a check to see if
the listener is set to the wrapper class first (at least for interfaces with events).
This lets us easily fix crashes in a couple of places where we receive events
with wayland objects that we didn't create.
Also adds nullptr checks whenever we use the fromWlSurface() and fromWlOutput()
functions to handle failed conversions.
Task-number: QTBUG-73801
Fixes: QTBUG-74085
Change-Id: I9f33c31c7d1a939ccb3ebbbcb0eb67af10037237
Reviewed-by: Jaroslaw Kubik <jarek@froglogic.com>
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
(cherry picked from commit 3eea45e31ef796ab6f1363f8fd2882c151becc20)
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit backports the Vulkan server buffer and texture sharing code
from Qt 5.14 to Qt 5.12 as an opt-in feature. To enable, configure with
"-feature-wayland-client-texture-sharing-experimental
-feature-wayland-compositor-texture-sharing-experimental"
Contains code from the following commits:
Add server buffer integration based on Vulkan
(commit df3a1761af2f20d59ae09a7adaa2f5b959047687)
Compressed texture support for vulkan server buffers
(commit f710489a341713c675cfd91d22ccd7bf8f29f4dd)
Implement server-side toOpenGlTexture for Vulkan
(commit 19361e7259f04b08925b1e8e99faf9460770ee7b)
New texture sharing protocol and infrastructure
(commit 80001cbf0451f4ba2a971fb20b80dc8e25ac604d)
Change-Id: I6c36ef7fddcd4db39e80d03a822d89f15eae3434
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
For shells that do not send configure events when exposed:
If setGeometry() was called before the window was initialized, Qt would
not mark the window as mapped, and the window would never become
visible.
Change-Id: Ic933cbbff20702424129c11264215181330cc7d1
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
|
|
|
|
| |
Change-Id: I641a1a80edd0861049d079422eef28b095fc26b3
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
|
|
|
|
|
|
|
|
|
| |
Implicit capture of 'this' in [=] is deprecated in C++20.
Fix by using explicit captures.
Change-Id: Ie3a94ec60d7c56b2856d201fa3d68d0670bdd7b9
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
|
|
|
|
| |
Change-Id: If69992b414824405267ea0d8c20b9f1bd996944b
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If we hide a window whilst a compositor has a pending frame to show,
it's possible the compositor will not render the frame and not return
the callback.
If this happens on the next window expose we can be left with
mFrameCallbackTimedOut still true causing isExposed() to remain false
and us to not send the next buffer when we later show the window again.
Change-Id: I507410415d1a930fd5fa736412055e68fdf6c1d3
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
When we did invokeMethod for handling the frame callbacks, we had to wait for
the GUI thread to finish whatever it's doing before we would stop blocking.
Fix it by clearing the frame callback timer and stop blocking immediately,
while delaying the rest of the work until it can be run on the other thread.
Fixes: QTBUG-76397
Change-Id: I343e4feac4838926b4fa2ccac2948988bc6c3bb7
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
|\ |
|
|/|
| |
| |
| | |
Change-Id: I7ad83f19cf9f47b40088a56d4182514bf5b83508
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Neither Qt::ToolTip nor Qt::Popup are single bits in Qt::WindowFlags, and do in
fact include Qt::Window. This meant that when we or'ed them and did a bitwise
and with QWindow::type(), we would match more types than just Qt::Popup and
Qt::ToolTip. We would for instance get any Qt::Window as well, which meant the
main window would be added to activePopups, leading to strange things
happening, such as crashes and the main window closing unexpectedly.
[ChangeLog][QPA plugin] Fixed a crash when closing multiple popups at once.
Fixes: QTBUG-76124
Change-Id: I1a6a59e161a436604a7ac8ab824396481dc99a20
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
(cherry picked from commit af9ec8a76d7e62444fadb518256fc58723fe5186)
|
| |
| |
| |
| |
| | |
Change-Id: I3402a5297448aa4f4e0703ffbae897f00f0f6577
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
| |
| |
| |
| | |
Change-Id: I76df7709ee1e21440c647a4419900800edfacac2
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Sometimes origin will be nullptr, triggering a crash.
[ChangeLog][QPA plugin] Fixed a crash that sometimes happened when
starting a drag-and-drop operation.
Fixes: QTBUG-76368
Change-Id: I8f4e6b05f073644834c3c72a8307dac5b897f626
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Neither Qt::ToolTip nor Qt::Popup are single bits in Qt::WindowFlags, and do in
fact include Qt::Window. This meant that when we or'ed them and did a bitwise
and with QWindow::type(), we would match more types than just Qt::Popup and
Qt::ToolTip. We would for instance get any Qt::Window as well, which meant the
main window would be added to activePopups, leading to strange things
happening, such as crashes and the main window closing unexpectedly.
[ChangeLog][QPA plugin] Fixed a crash when closing multiple popups at once.
Fixes: QTBUG-76124
Change-Id: I1a6a59e161a436604a7ac8ab824396481dc99a20
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The protocol doesn't require this, but some clients seem to depend on it
nevertheless.
Fixes: QTBUG-75667
Change-Id: I47491c396d3c9193c7e51e13c7ca1586246e335c
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
(cherry picked from commit 869a38c082daf150a16b2abb230b420de3e4af31)
|
|/
|
|
|
|
|
|
|
|
|
| |
[ChangeLog][Compositor] Fixed a build error when configured with -no-opengl.
This is the same fix as in dev's 8663de3f, but leaves the QML APIs disabled.
Fixes: QTBUG-76104
Change-Id: I9807144e0c0cf33d421c7c6adcb2664e1e67368c
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
|
|
|
| |
Change-Id: I628b1d9c25ed6fb2fb62563a214040797df0758f
|
|\
| |
| |
| | |
Change-Id: Ib5989d03612370116193266742e26094700be5c9
|
| |
| |
| |
| |
| | |
Change-Id: Iec24d90c7b6fb4c2eb88b440bbf104d6ef94a25b
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The previous implementation had gaps in several places.
[ChangeLog][QPA plugin] Fixed a bug where the window decoration's damaged area
didn't cover the entire decoration. This meant some compositors would not
redraw those areas.
Change-Id: Ic72663dde301936635b2a1cfa90570a53227e8ea
Fixes: QTBUG-74341
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If unbind is not called, some drivers may try to do cleanup that depends on a
valid wl_display in eglTerminate. Arguably, this could/should also have been
fixed in the affected drivers. There is a display_destroy signal that the
driver should listen to, to avoid using dangling wl_display and wl_global
pointers.
However, by using eglUnbindWaylandDisplayWL we can force the cleanup to happen
before wl_display_destroy. Which is what this patch does.
Change-Id: Id9062de896b723838bcecac3902031e6b172a6de
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
|
|/
|
|
|
|
| |
Change-Id: I9ff6ac4e33e89691e06965515a54e91a831b7a0a
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The call to flushWindowSystemEvents() sometimes caused new popups to be shown
in the middle of hiding another. I.e. if multiple events show and hide
surfaces, they would be shown/hidden in opposite order of their corresponding
events. QMenus sometimes suffered from this (can be seen with the qopenglwidget
example from qtbase).
When the flush was added 5 years ago in 50f43a0c5, it was to "reduce the
chances of seeing a bad frame". I don't see any rendering artifacts, though,
and I can't find any bug report on it. So let's hope it's safe to remove the
hack.
[ChangeLog][QPA plugin] Fixed a crash that sometimes happened when switching
popups.
Also adds more info to the workaround warning message that appears when a popup
grab is attempted and there already is another grabbing popup that is not the
parent.
Fixes: QTBUG-73524
Change-Id: Ibfcbb48c4bbe295c2be1a30add2d7e05cad398c5
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
|
|
|
|
|
| |
Change-Id: I5024e50af6e403e9373181948b36548bc0862f9b
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
|\
| |
| |
| | |
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>
|