| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
| |
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
|
| |
| |
| |
| |
| |
| | |
Task-number: QTBUG-64188
Change-Id: If4b88cf67abfb1154b1d7520d0c9f88583427d93
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
|/
|
|
|
|
| |
Change-Id: I1a223b440a6678aebc04df49f62fedc382bd898b
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
|
|
|
|
| |
Change-Id: I836be9a52fce41490ac4511f4d21d130abec7f55
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
|
|
|
|
|
| |
Change-Id: I6f92d5731e5f53fef37c442fd56e7e8260d8c4cb
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
Change-Id: I9ff21c7d8b085be8fbcb102b5284ec1ac5dfb40b
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
|
|
|
|
|
|
| |
Change-Id: If8840594b4077a464e97b4cb6db2fe8b70edf70d
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
|
|
|
|
|
|
|
|
|
|
|
| |
When QWaylandWindow::reset() is called, the window's mask is not changed. It
means that when the window will be initialized again, it will not re-send the
mask description to the server side through Wayland.
Task-number: QTBUG-62638
Change-Id: I07d561f466836bbd90ae58521c0768ed85554256
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
Reviewed-by: Christophe Chapuis <chris.chapuis@gmail.com>
|
|\
| |
| |
| | |
Change-Id: I1c88d93c70fc070446537c425c285443c502a22d
|
| |\
| | |
| | |
| | | |
Change-Id: I13840441f4beeb8160efc40047e0648891349394
|
| | |
| | |
| | |
| | |
| | |
| | | |
Task-number: QTBUG-62745
Change-Id: Ice852c29ce83721fac0a30fd90870531b3562126
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
| | |
| | |
| | |
| | | |
Change-Id: I45e27ba5b9563aeb8499c297d9de618bf639812b
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Show how to create non-global objects on the client side.
Also fix error in the XML file: move the enum outside the
event.
Change-Id: I85b4cae115a57d60eda4a54d652ea98a8cd39548
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I4b84d7eac0016dccaa370419487940e32130617e
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I7f958175fdb5ae21babae259bf2e8d5e749cd396
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I6c972b79555d41cba9e8c5954e595f76b580725b
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I71f6714f2ac4d92baedd89246d57f20c159bda1b
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Change-Id: I80b4f078d63ac32d9ce6d91fc46f0b9d9d7d7146
Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The documentation was missing the proper indentation.
Change-Id: I3ce2afd8b9ea8c045f54202f942a8f55f831c1b2
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I23a67b8189ab84e6a70c9e3de5da15cf2e9a9d77
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: Ia60e20a15151a76c337872bf46b4d09da519387c
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
|
| |/
|/|
| |
| |
| | |
Change-Id: I9f2ed6411ab0e24a2a6e6f194abe3ffaaba96756
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
|
|/
|
|
|
|
|
|
|
|
|
|
| |
Redo change 955ac0d0eeaf2f543676b649291558f4dcce37c3 for the
minimal compositor example.
EGL_KHR_stream_consumer_gltexture only allows connecting to the
texture bound to GL_TEXTURE_EXTERNAL_OES, meaning that assumptions
about the target always being GL_TEXTURE_2D break horribly.
Change-Id: If5b21d740eb80486e4f55bee843a820f0b0edd60
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
|
|
|
|
|
|
|
|
| |
Assign to the actual variable instead of a new one with the same name.
Change-Id: I9e4c3525891ff53f0194198b9c11f223df4c14a9
Reviewed-by: David Edmundson <davidedmundson@kde.org>
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Removes the pointer mScreen, which would previously cause a crash if the screen
was removed.
Ensures that QWindow::screen() is correct, except in the cases where:
- The compositor has not yet sent enter and leave events (in which case the
primary output is returned).
- The compositor is not sending enter and leave events (although this is
mandatory, some compositors don't do this).
- The application developer has tried to move the window with
QWindow::setScreen(QScreen *). Since there is no way for a client to ask to
be moved to a specific monitor in windowed mode, we return the requested
screen until a new enter or leave event is received.
This will also be useful when implementing/fixing features where the current
screen matters. Examples are QT_AUTO_SCREEN_SCALE_FACTOR and the optional
output parameter to wl_shell_surface.set_fullscreen.
Task-number: QTBUG-62044
Change-Id: Iafde2e278fbc8876e8dafe5b2a4d2482fdc7961a
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
|
|
|
|
|
|
|
|
| |
According to the protocol, child popups have to be closed before
parents, but QMenuBar/QMenu will sometimes close the parent first.
Change-Id: Id027ac483b727a19388df619fe1503d794e12c12
Task-number: QTBUG-62048
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
|
|
|
|
|
| |
Task-number: QTBUG-62701
Change-Id: Ia56244d29c1c60f74f736ac091fdfae68b25eae7
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If QWaylandWindow::attach was called before getting the frame callback, it
would overwrite mFrameCallback. Hence, all but the last frame callback would
still be alive after the QWaylandWindow destructor.
When the dangling callbacks got invoked the data pointer was statically casted
to the deleted QWaylandWindow, resulting in undefined behavior.
In this change we only delete frame callbacks from the render thread, avoiding
a race condition we fixed earlier. And we always destroy the frame callback
when adding a new one, ensuring that the destructor will clean up the only
remaining callback.
There's a test confirming that the crash has been fixed.
This fixes the flakiness of many of the qtbase auto tests.
Change-Id: Iecb08ab48216eac61b1ebc5c0e0664d4aac900c0
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|