| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| |
| |
| | |
Conflicts:
src/compositor/extensions/extensions.pri
Change-Id: Ia9a5bd52b7cac9a4f66e7c5deb43d89f0c792325
|
| |
| |
| |
| |
| |
| | |
Change-Id: I5948aea1afdd8b9a71e6de128a5203eb9422f5e1
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
Reviewed-by: Martin Smith <martin.smith@qt.io>
|
| |
| |
| |
| |
| |
| | |
Change-Id: Id24b417687843709d9f7df499c4e8c8428f658b6
Reviewed-by: Martin Smith <martin.smith@qt.io>
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
|\ \
| |/
| |
| | |
Change-Id: I6c201769561f53d88c89f75cce7d9a7b2643d2f6
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
After commit 3e745ea053e42ba087438203df3bd76b30a08eb2, mFrameCallback
is set to null when the next buffer is attached, not when the callback
arrives. This means that a requestUpdate() after the frame callback
would never be delivered. The solution is to test mWaitingForFrameSync
instead. There is still a small race condition, but the failure case is
that the update will arrive after 5 ms instead of exactly at frame sync.
Change-Id: I413ed2b76c8527f825e501077bab712146b6705f
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
| |\
| | |
| | |
| | | |
Change-Id: If72cba3251b792028a51f815f2f0cb064779bcec
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
There was a naming conflict between the client buffer integration, wayland-egl,
and the system library libwayland-egl.so
Rename the plugin binary to qt-plugin-wayland-egl to avoid the issue.
Task-number: QTBUG-65652
Change-Id: Ib074c25e269a5e11b087fb4c3ddb15fef7d4a7ee
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Destroy role object for toplevels when destroying the xdg surface.
Task-number: QTBUG-65568
Change-Id: Ibe027c3eef8160f9fd2cfb05971c92ceb155f95b
Reviewed-by: David Edmundson <davidedmundson@kde.org>
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I97a769b49357e9b92c9160bf8ba4bfdb51009af3
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When a buffer is committed multiple times, not all compositors (i.e. Weston)
send a matching number of release events. This caused clients to freeze on some
occasions on those compositors because they were waiting for a release event
that never came.
This reverts commit 5f38652cd52c03e9df8600f5f41e044820c3062c.
Backport from 5.10.0 to 5.9.4
Task-number: QTBUG-64631
Reviewed-by: David Edmundson <davidedmundson@kde.org>
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
(cherry picked from commit 2767d0533f2901517c87d9c99bcda26564484280)
Change-Id: I2acf5574a1b792d3bbf928fb0bc328aa8ee8ffe0
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
QWaylandEglWindow deletes surfaces when a window changes from hidden to
visible, presumably as a result of us not having a valid wl_surface
object. By extension it doesn't make sense to create a surface whilst a
window is still hidden.
This fixes a crash where a QQuickWindow hides and then is destroyed. In
QQuickWindow destruction we have to create a valid context in order to
delete any textures/assets owned by the scene graph; as the wl_surface
has gone this causes an error in the EGL libs when we create an EGL
surface.
Task-number: QTBUG-65553
Change-Id: I9b37a86326bf2cd7737c4e839c1aa8c74cf08116
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
|\ \ \
| |/ /
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
.qmake.conf
src/compositor/compositor_api/qwaylandquickitem.cpp
Change-Id: Id2f49e8703a67daedcee66db83f006df828d9da0
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Previously tests would hang because eglInitialize (which was called on window
decoration creation) would wait for a Wayland roundtrip while our compositor
thread was waiting for more commands.
Work around this by prematurely causing the clientBufferIntegration to be
initialized before applicationInitialized (when the compositors switches
to handling requests synchronously).
Change-Id: I793c70a8f3a764cb3a70f00ddcab76cd4044b442
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
|
| |/
| |
| |
| |
| |
| |
| | |
We were sending ints when we should have been sending wl_fixed_ts.
Change-Id: I9f074334cb3ea8a3d61789ff641c2d022a5989b7
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The system would leak a complete buffer every time the client attached a
new Wayland buffer. For QML applications this will normally happen every
time a new animation is started.
Change-Id: Ie4981ccbb2e09d702ee291f1144e3b8aa84c0d1d
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
| |
| |
| |
| | |
Change-Id: Iba1f792012731f8cddfdc5d5dae8fe2b0b2eef7a
|
| |
| |
| |
| |
| | |
Change-Id: I16f11c32c861908e34de0cb28c8ad51378aa6e61
Reviewed-by: Martin Smith <martin.smith@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I6f8dcadf3cffecc6097ad0ad5e8245831b3ce0c1
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QOpenGLTexture::bind() expects texture unit number as plain uint number
(e.g. 0,1,2) and not as GLenum (GL_TEXTURE1)
Task-number: QTBUG-64841
Change-Id: Id471fc9976677ac8a358f04b9ae09c6a32beef63
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I9461fae92ec3d41e4f9e866a6a4fa7554a309ecd
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
|
| |
| |
| |
| |
| |
| | |
Change-Id: I7fd1e44974857b77fea27e75ef791603e607642e
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
|
| |\
| | |
| | |
| | | |
Change-Id: Ibedf640006695f88bd6fe9d2a5adb7b32a72f733
|
| | |
| | |
| | |
| | |
| | |
| | | |
Change-Id: I1a223b440a6678aebc04df49f62fedc382bd898b
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
| | |
| | |
| | |
| | | |
Change-Id: I8948d995f6d84751a9abb19b203b1ccd8be50777
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
We have a transient parent but it doesn't have a shell surface.
We need to make sure that it exists before setting the transient
parent's shell surface as the parent to the window.
Change-Id: I918b2f14074217638529ba73530f0102f7438079
Reviewed-by: David Edmundson <davidedmundson@kde.org>
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
|
|\ \ \
| | | |
| | | |
| | | | |
Change-Id: Id64ad5564f3cd85829ede15ebf33db13cd1587fa
|
| |\ \ \
| | | | |
| | | | |
| | | | | |
refs/staging/5.10.0
|
| | |\ \ \
| | | | |/
| | | |/|
| | | | | |
Change-Id: I56d936d60b3909433ca04d3da74dbe23404f34f0
|
| | | |/
| | | |
| | | |
| | | |
| | | |
| | | | |
Task-number: QTBUG-64188
Change-Id: If4b88cf67abfb1154b1d7520d0c9f88583427d93
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When a buffer is committed multiple times, not all compositors (i.e. Weston)
send a matching number of release events. This caused clients to freeze on some
occasions on those compositors because they were waiting for a release event
that never came.
This reverts commit 5f38652cd52c03e9df8600f5f41e044820c3062c.
Task-number: QTBUG-64631
Change-Id: I818d9bd71e5d9ce7a351a2010914b7219b1975bc
Reviewed-by: David Edmundson <davidedmundson@kde.org>
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
| |\ \
| |/ /
|/| |
| | | |
Change-Id: Ieb3abe997b444fc46218cd2a1d00a5cfaf37f7b1
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Menus open up at the right place this way.
Change-Id: Iae18fdcefe33356e9e9ee105b9f5c597bb6c896b
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
|\ \ \
| | |/
| |/|
| | | |
Change-Id: Ieb5a74f4741834a62cb1db03de2bb23eb060be74
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I836be9a52fce41490ac4511f4d21d130abec7f55
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I6f92d5731e5f53fef37c442fd56e7e8260d8c4cb
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
|
| |/
|/|
| |
| |
| |
| | |
Change-Id: Id8bf04b1b56667056dfa3254242c7610f3a6d2a9
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
It must be installed on the filesystem. Duplicating it in resources
was always wrong but now causes an error in 5.10.
Task-number: QTBUG-64285
Change-Id: Ia8a9e11f92ea68977808bb6e87a818c0ca8d1208
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I69f37f9304f24709a823fffd14e676c097712329
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
|\ \
| |/
| |
| | |
Change-Id: I6c283081669594b3e8c6b30194bb96e389319cb2
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Create and update the texture on the GUI thread. Make sure there
is a valid context on the GUI thread: create one if necessary, and
share it with the global share context.
Note: this requires that threaded compositors set the
Qt::AA_ShareOpenGLContexts application attribute.
Task-number: QTBUG-63039
Change-Id: Ia19af0536f9df319cde84221ed53db1c2ef42293
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This may not be a perfect solution, but it's better than the current one, where
the transient parent may not have a shell surface (because the window may be
hidden or not yet initialized).
Task-number: QTBUG-63840
Change-Id: Ia5f04376d4b6d12b41ceeab5ba13cdc1b63b4e3c
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: If02092ad3b9042e8f771f2bc55daed7a810191bd
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I6bb9385c709537a3ad924ad936bb87747e2ced7a
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The QPlatformBackingStore can get flushed multiple times between paints.
Flush sets the front buffer, but it does not create a new backbuffer.
We can't do so without doing an expensive pre-emptive copy.
This means we send the same front buffer multiple times. This is
somewhat questionable with regards to the Wayland specification, but
seems to work.
If we do send a buffer multiple times we can't consider it free until
the last attached buffer is released; otherwise we end up painting into
a buffer whilst the server is still using it, leading to
flickering.
Change-Id: I8235eed6a85f0d52b37544e7bcb623b16a9dd832
Reviewed-by: Marco Martin <mart@kde.org>
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: If1e3304cb9a8da2aeb20802759370bc2f0f476dd
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Fall back to creating a toplevel instead
Change-Id: If7db27d08b79e4f9f8c82fa8f9bf73abdb2585d9
Reviewed-by: David Edmundson <davidedmundson@kde.org>
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: Ib1ee37ca626afad14b65303a3cfb134485ade736
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: Id4ba079514c7844821adac3c0c108af7deb57889
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Don't emit QWaylandSeat::mouseFocusChanged with a destroyed QWaylandView.
QWaylandPointer has been refactored to make it easier to follow enter and
leave logic. A missing emit for buttonPressedChanged has been fixed as well.
This also adds a test for pointer events to verify that setting mouse focus
works and that the crash has been fixed.
Task-number: QTBUG-63208
Change-Id: Id0c174a7b609dfd0152f3ae446dd51fd8befd554
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
And add documentation for QWaylandWlShellSurface::surfaceCreated
Change-Id: Iea730b7aee8403f0accae686d9d0fbbf086c7d86
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
|