| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
| |
When the shell surface is destroyed, i.e. by hiding the QtWaylandClient's
window, QWaylandQuickShellSurfaceItem does not emit shellSurfaceChanged()
and may cause a dangling pointer dereference.
Pick-to: 6.10 6.8 6.5
Task-number: QTBUG-138907
Change-Id: I99665ebce41334ace72103fdeb2956986cfc7ef4
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
| |
When we're locking the front buffer i.e. on surface destruction,
and then the view's surface is reset to null,
unlocking the locked buffer must release it.
The same is true for changing the view's surface but I'd expect
the new surface's commit + advance do the job.
Change-Id: I0518590bd7d1482046b5ede1cf3f9b12825621f6
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
| |
|
|
|
|
|
|
| |
When the back buffers becomes the front buffer in QWaylandView::advance(),
there is no any particular reason to keep it referenced as back buffer.
Change-Id: If1f29a6c9600bbb99ac19335241f1f9b5c169713
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
| |
|
|
|
|
|
|
|
|
| |
As long as QWaylandQuickItem simply wraps the QWaylandView's properties,
when bufferLocked property value changes on the QWaylandView,
QWaylandQuickItem must handle it just like if it were
QWaylandQuickItem::setBufferLocked() call
Change-Id: Ic928d963d4b4beaeab716687d2181f79179c9d32
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
| |
|
|
|
|
|
|
| |
Obviously, QWaylandQuickItem::allowDiscardFrontBuffer() is a getter
and it didn't emit anything at all.
Change-Id: I169d37ff70cb4016465fa6df0d3654c76688856e
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
| |
|
|
|
|
|
|
|
| |
The QWaylandSurface::redraw() connected to QQuickItem::update()
a few lines below guarantees the Item shall be updated on any commit,
not just for the surface map/unmap ones.
Change-Id: Idf71f57b383d3314dfd189dccd90e305f0286332
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
| |
|
|
|
|
|
|
| |
I.e. when adding the output to the compositor with no outputs,
and when removing the default output.
Change-Id: I6e523ce2a967bba7873453a4bffb26ba99f76e62
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
| |
|
|
|
| |
Change-Id: I9e40fafd440c3d79f25ace7981bc0ee5f5b4fcd7
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Current implementation sends a frame callback to notify client
about the buffer attached in the very same commit has been rendered.
Which is totally wrong.
The frame callback's only purpose is to notify client about
the good time to start preparing the **next** frame (if any).
Accordingly to the official specification,
https://wayland.app/protocols/wayland#wl_surface:request:frame
> The frame request will take effect on the next wl_surface.commit.
> The notification will only be posted for one frame unless requested again.
Thus saying, wl_surface.frame+wl_surface.commmit is a perfectly formed
command sequence to get the frame callback. No buffer attach is required!
Change-Id: I22bed4055858a1261e7cc26592109c056a42ffc6
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
| |
For wl_surface version is 5 or higher, passing any non-zero
x or y to wl_surface.attach is a protocol violation,
and will result in an 'invalid_offset' error being raised.
The x and y arguments are ignored and do not change the pending state.
To achieve equivalent semantics, use wl_surface.offset.
Change-Id: I70f72c747d8f8666e1437050d4b0e9227c439f6d
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
| |
|
|
|
| |
Change-Id: I417b25de59fe8b03d52d1c29e4d423d668ddb33e
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
| |
|
|
|
|
|
|
|
| |
As we do not support flipped transforms (yet?),
ignore them for QWaylandSurface just like we do in other places
(see QWaylandScreen and QXdgPopup for example).
Change-Id: I2fd33bd4bdbf245d0d9423142dfaa7d1e49b020d
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
| |
|
|
|
|
|
|
|
| |
When destroyed, do not lookup the frame callback in the surface's
callback list to remove it out of there if we know the list shall
be emptied just a moment later anyways.
Change-Id: Id1232e1659bf4e2cebbf054cdfa29928863ca005
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
| |
|
|
|
|
|
|
|
| |
Add the same check as in sendFrameCallbacks().
Vsp2Layer calls frameStarted() and sendFrameCallbacks() on its own.
Change-Id: I341bb1270cfe40a76e78fb46e5c2191b65a0b13b
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
| |
|
|
|
| |
Change-Id: If1ed1cd235a701a2c8b29590ecd93530790305d6
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
| |
|
|
|
| |
Change-Id: I8d96b94d020c5ed317f1f92115aa8a424d8e1d6c
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Drop unused lambda capture in order to fix
.../qt5/qtwayland/src/compositor/extensions/qwaylandquickshellsurfaceitem.cpp:339:18: error: lambda capture 'this' is not used [-Werror,-Wunused-lambda-capture]
339 | auto skip = [this, putOnTop, putOnBottom](QQuickItem *item) {
| ^~~~~
.../qt5/qtwayland/src/compositor/extensions/qwaylandquickshellsurfaceitem.cpp:372:18: error: lambda capture 'this' is not used [-Werror,-Wunused-lambda-capture]
372 | auto skip = [this, putOnTop, putOnBottom](QQuickItem *item) {
| ^~~~~
2 errors generated.
This amends c9126f06afdfb116b7ba202512c06c0bbbc93ed2.
Change-Id: I89432c3e939292b183421b5952316861df2657c3
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
|
| |
|
|
|
|
|
| |
Do not assume the primary view is on a primary screen
Change-Id: I74e871b9eb00dc349db5c16e1cf3067c3cd02047
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
| |
|
|
|
|
|
|
|
| |
Accordingly to the official specification,
https://wayland.app/protocols/wayland#wl_surface:request:frame
> For a wl_surface, the notifications are posted in the order the frame requests were committed.
Change-Id: Ifa5f1701b0cb851cc620c025f6933e08a26c5a5b
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
| |
|
|
|
| |
Change-Id: I4545914b5b6a35bf71e069ad081124ab4276c5dc
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
| |
|
|
|
| |
Change-Id: I42611fd5df7e261439508b24da28536712e73b08
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
| |
|
|
|
| |
Change-Id: I3d7d0bc8a2c1e36c84775503ef4db51b7709dfc6
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Remove the use of NO_GENERATE_QMLTYPES in WaylandTextureSharing, where
it seems that the plugin does not register any types, and in
WaylandTextureSharingExtension, where one type gets type registered
declaratively via QML_FOREIGN.
Add an extra foreign types for the base types of
QWaylandTextureSharingExtensionQuickExtension to avoid qmllint warnings
about unresolved types. It seems to be a drawback from the
Q_COMPOSITOR_DECLARE_QUICK_EXTENSION_NAMED_ELEMENT macro, that only
registers a type but not all of the base classes of a type.
Task-number: QTBUG-110794
Change-Id: Ic5e2bcf95f6029422dd94deda62d158b53387a70
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
| |
|
|
|
|
| |
Fixes: QTBUG-141871
Change-Id: Ifb6f528b2c46c7ce908995c2cf0093635a681de0
Reviewed-by: Topi Reinio <topi.reinio@qt.io>
|
| |
|
|
|
|
|
| |
Pick-to: 6.10
Change-Id: Ib164d9ddeb3841caaff4faa7edc0729648c8c7da
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
Reviewed-by: Liang Qi <liang.qi@qt.io>
|
| |
|
|
|
|
| |
Pick-to: 6.8 6.10
Change-Id: Idf6d7de1adc1cb480e1a82921c555630e89f872d
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
| |
|
|
|
| |
Change-Id: I33276f7affc3329717edfdfa6c8ec0e0c0074692
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
| |
|
|
|
|
|
|
|
| |
These warnings are mostly because of QML incomplete
QML snippets passed to \qml...\endqml. Replaced such
instances to use \code...\endcode instead.
Change-Id: I90746811c9060ce374588cdd492a65414a6ddeb3
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
|
| |
|
|
|
|
|
|
|
| |
These QDoc warnings are typically for a function/property doc, where
its parent class/type is not documented. Majority of these cases are
for members of internal classes that were never marked as \internal.
Change-Id: I5c2cd7c9243ea4726467402a0759fff99454af62
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
|
| |
|
|
|
|
|
|
|
|
| |
Many test-alike clients only require the minimal version of the protocol
interfaces, thus implementing a v1 interface callbacks where possible;
currently, such client ends up with a "unimplemented callback" ffi error.
Pick-to: 6.5 6.8 6.10
Change-Id: I1ef74dca147a75ed4285bd31ec09fcd5f475b119
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
| |
|
|
|
| |
Change-Id: I1ed42ef95c14850227cbc73079ab210b068d7f4a
Reviewed-by: David Redondo <qt@david-redondo.de>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
We originally painted the decoration by splitting it to two parts. First
part was the titlebar with rounded corners and second part was the rest
of the window, basically to paint borders around the window. This had
a side-effect, where part of the border was overpainted and causes an
artifact when a transparent border is used.
Pick-to: 6.10 6.9
Change-Id: If7011c9c99e04e2362c8491c08cc7ba82b849378
Reviewed-by: David Edmundson <davidedmundson@kde.org>
|
| |
|
|
|
|
|
| |
Task-number: QTBUG-140916
Pick-to: 6.8 6.10
Change-Id: I4b6e73cfb308ff2a9e5c039f26fa7b1bd62bbe27
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
| |
QT_IVI_SURFACE_ID has now been added to the main environment variables
section.
Pick-to: 6.10 6.9
Fixes: QTBUG-119259
Change-Id: Ie08921350452b09b2c5ac9006a9db43d329ed3b1
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Kai Köhne <kai.koehne@qt.io>
|
| |
|
|
|
|
|
|
|
|
| |
This fixes a crash when creating and destroying QWaylandCompositor
multiple times
Fixes: QTBUG-115063
Pick-to: 6.10
Change-Id: Ia9272eb506a6c5d26eb815b6f5bbbe745441c4b4
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
| |
|
|
|
|
|
|
| |
Update colors to match the latest version of GNOME and libadwaita.
Pick-to: 6.10 6.9
Change-Id: I9dc92d0f174089cee8523f090fee9058e7f76e81
Reviewed-by: David Edmundson <davidedmundson@kde.org>
|
| |
|
|
|
|
|
|
|
| |
Do not rely on "titlebar-font" in case "titlebar-uses-desktop-font" is
set to true as described in the schema documentation.
Pick-to: 6.10 6.9
Change-Id: I3b3747ae48206ea721fb4b78cad03d9bbbe9705c
Reviewed-by: David Edmundson <davidedmundson@kde.org>
|
| |
|
|
|
|
|
|
|
| |
The decoration should not be setting the cursor in the same way as
application code setting the cursor which gets stored for future usage.
Pick-to: 6.10
Change-Id: I60bc078a3b9033ea37cf81c5cd5d485838ac4b68
Reviewed-by: David Redondo <qt@david-redondo.de>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The \generatelist command takes an optional argument
that affect how the members are listed, for example,
`classesbymodule` which creates an annotated list of
the classes in a named C++ module.
`groupsbymodule` is not recognized or documented. QDoc
falls back to generating a list of all members of a
group in this case. While the end result is correct,
this relies on an undocumented feature that is likely
to change and break.
Replace these instances with an explicit \annotatedlist
command that produces the same output.
Pick-to: 6.10
Task-number: QTBUG-138901
Change-Id: I8e2ad22ed79810c3ed2df0f7508b4216712b1adc
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When sending the end_input_method event the compositor waits
until the event is confirmed. This is done by polling wayland
events in a loop.
If the client sends a new frame at the same time the compositor
sends a the end_input_method event, the client cannot answer
wayland events as it's waiting in swapBuffers until the frame
callback was called. The compositor on the other hand just polls
new wayland events.
By making sure to also process normal Qt wayland events, we make
sure the scene graph is not blocked and we can send the frame
callbacks to unblock the client.
Pick-to: 6.5 6.8 6.9 6.10
Change-Id: I328710193008728e4eac2bbc4e6eba9c81567d4d
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
| |
|
|
|
| |
Change-Id: I59cb7deef5b7e8d38bfce5f12bd2dd54190e6f0a
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
| |
|
|
|
|
|
| |
Fixes: QTBUG-133866
Pick-to: 6.10 6.9 6.8
Change-Id: I9f8d87a0dc00499918149ad07d10c205fee39c4f
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
| |
|
|
|
|
|
| |
Task-number: QTBUG-133866
Pick-to: 6.10 6.9 6.8
Change-Id: Ie8e9d971a2590020cd393dcdcf50960ddbf0c243
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
| |
|
|
|
|
|
|
|
| |
The duplicate BufferState symbol in two different compilation units (wayland-egl and wayland-eglstream-controller) was causing linker warnings and related crashes when built statically with LTO enabled. Renaming one of the symbols fixes this.
Pick-to: 6.5 6.8 6.9 6.10
Fixes: QTBUG-137333
Change-Id: Id79cda0d0336625e5649b51bd6f1f18038051b7e
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
| |
This is the result of running util/normalize on the code base. The
following manual edits were needed:
- folded a long connect() line in texture-sharing manual test
Pick-to: 6.10 6.9 6.8 6.5
Change-Id: Iaf425d057c1b59bacd09847469a4409d73739a09
Reviewed-by: Liang Qi <liang.qi@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
| |
[ChangeLog][Third-Party Code] Added PURL and CPE information to the
attribution files of 3rd party sources.
Pick-to: 6.5 6.8 6.9 6.10
Fixes: QTBUG-137385
Task-number: QTBUG-129602
Change-Id: I0a7351b3767041d962655ac4e4703c1020a48dd4
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
The cursorSurfaceRequest signal is removed in this case, but we were
trying to connect to it unconditionally.
Add the same #if QT_DEPRECATED_SINCE as the header to fix this.
Amends bf60784393552a605d166330d3fdc87e900e8a0b.
Pick-to: 6.10 6.9 6.8
Change-Id: Ibf9aee069f333df3d15016e744b572ef6c4c9dab
Reviewed-by: David Redondo <qt@david-redondo.de>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Since 6.10, QDoc is capable of generating links to the declaration in
the source code for each documented C++ API entity in their `Detailed
description`.
Add the required configuration to enable this feature in Qt Wayland
Compositor.
Change-Id: Ic32c825c2dab0ff223ba016ab65eda1b561b3c61
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Reviewed-by: David Redondo <qt@david-redondo.de>
|
| |
|
|
|
|
|
|
|
| |
A ShellSurfaceItem w/o an actual shellSurface assigned could cause a
crash in function onTop/Bottom.
Pick-to: 6.9 6.8
Change-Id: I17ae836c61d09e7cb646c6485f4854b3535840e9
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is about the linux_dmabuf client buffer management. On the server,
buffer representations (LinuxDmabufClientBuffer/LinuxDmabufWlBuffer)
are only deleted when a client disconnects. They are not deleted upon
buffer destroy requests from the client. Hence, some unused memory
piles up for each deleted buffer.
We call wl_resource_destroy now in the destroy request handler (like
other compositors do). The basic idea is that LinuxDmabufClientBuffer
own's the LinuxDmabufWlBuffer now. So, instead of relying on the
destroy callback function of LinuxDmabufWlBuffer, the
LinuxDmabufClientBuffer's BufferManager destroy listener will delete
the buffer representations.
Also removed futile code.
Fixes: QTBUG-132208
Change-Id: Ib48404623d1aa9984434ed238395709b08dc0574
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
Reviewed-by: Thomas Senyk <thomas.senyk@qt.io>
|