| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This simplifies the data flow and reduces the paths for some races with
threaded rendering.
Making all events synchronous does not work due to application logic
having nested event loops.
The design is all normal wayland events are flushed at the end of each
dispatch so that everything remains ordered. When a configure event
is received applying that state is queued. When it is applied, all
events emitted from this are flushed.
Application driven geometry changes are also synchronous.
The old code to manage frame synchronization is removed, this attempted
to not apply configure events whilst a frame is in flight. It doesn't
work properly as the render thread could start on the next frame whilst
the main thread processed the resize. It is problematic in this port as
the mutexes will cause deadlocks with sync delivery.
Task-number: QTBUG-121731
Fixes: QTBUG-117762
Fixes: QTBUG-119112
Change-Id: I5802b4006d307a45468767d68c3ad40078df5703
Reviewed-by: Vlad Zahorodnii <vlad.zahorodnii@kde.org>
|
| |
|
|
|
|
|
|
|
|
| |
This is the recommended mode, and failing to use private-code
makes libraries expose generated symbols like wl_shm_interface,
which may conflict with symbols from libwayland leading to
unexpected behavior or aborts.
Change-Id: Ifcb701a8670b339d24b13f2812c10493a64ee060
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
| |
|
|
|
|
|
| |
Pick-to: 6.8
Task-number: QTBUG-122899
Change-Id: I32c1489bbb3e3a48377f6aef94e4cd639257c9a1
Reviewed-by: Lucie Gerard <lucie.gerard@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently, QWaylandShellSurface::setWindowGeometry() serves several
purposes. It's used to specify the bounds of the content when using
client side decorations (not preferred but the one that's painted) and
it's used to tell the compositor the preferred window size. These two
use cases are very different in nature.
This change introduces QWaylandShellSurface::setContentGeometry()
request, which can be used to communicate the bounds of the client
side decorated content. The content geometry is specified in the
surface-local coordinate system, i.e. 0,0 is the main surface's top
left corner.
QWaylandShellSurface::setWindowGeometry() takes window geometry in the
global coordinate system, excluding the drop shadows.
[ChangeLog][QtWaylandClient][Important Behavior Changes] The
QWaylandShellSurface::setWindowGeometry() function is no longer suitable
for communicating the bounds of client side decorated content. Custom
shell implementations should use
QWaylandShellSurface::setContentGeometry() instead.
Change-Id: I134ce4f0866d3abbe7050ed6769dc586210eac27
Reviewed-by: David Edmundson <davidedmundson@kde.org>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
| |
|
|
|
|
|
|
|
| |
They cause clashes in CMake Unity (Jumbo) builds.
Pick-to: 6.5
Task-number: QTBUG-109394
Change-Id: Idc0d0baeef4b92f61ed67d9a850b5ad3422f9146
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
| |
|
|
|
|
|
| |
Task-number: QTBUG-94729
Change-Id: Ib79f3199a4518700aa032c5ca4760a2b53c401e5
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: David Edmundson <davidedmundson@kde.org>
|
| |
|
|
|
|
|
| |
Task-number: QTBUG-105718
Change-Id: Icb25ea4e07a38eea81f55ed59c6d3b9d37602626
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
CMakeLists.txt and .cmake files of significant size
(more than 2 lines according to our check in tst_license.pl)
now have the copyright and license header.
Existing copyright statements remain intact
Task-number: QTBUG-88621
Change-Id: Ib014757184540728f40df71cd580f01e85fbbb56
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
| |
Plugins should not link publicly to libraries.
Don't use deprecated TYPE option of qt_add_plugin.
Amends d89c8920f3b82dd2098971b5a66c4b9c75da5af0
Pick-to: 6.3 6.4
Change-Id: I0b5ad54e802147778b1a979b16ff1c2c47eb8c5b
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We can't know the actual position of a window on the screen. This causes
an issue when Widgets try to position a popup/menu absolutely and keep
it on the screen when the screen geometry doesn't include (0,0).
Instead report their positions always as the top left corner of
the screen that they are on.
This new behavior can be disabled for qt-shell or via an environment
variable by users that rely on the old behavior.
Fixes: QTBUG-85297
Change-Id: Iacb91cb03a0df87af950115760d2f41124ac06a3
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: David Edmundson <davidedmundson@kde.org>
Reviewed-by: Aleix Pol Gonzalez <aleixpol@kde.org>
|
| |
|
|
|
|
|
|
|
|
|
| |
Replace the current license disclaimer in files by
a SPDX-License-Identifier.
License files are organized under LICENSES directory.
Pick-to: 6.4
Task-number: QTBUG-67283
Change-Id: I106d3a5d1a7b96250380b6f51a48f3b19d10e4d9
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
The one in qtwaylandglobal.h was wrong. It just happened to work on
Linux because the lack of import wasn't an error... until GCC 12 with
-mno-direct-extern-access.
Pick-to: 6.3
Change-Id: If05aeeb7176e4f13af9afffd16e8535b469f9158
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
| |
|
|
|
|
|
|
| |
Fixes: QTBUG-99760
Pick-to: 6.3
Change-Id: I28e6f7e5dfe605224a654c98b51cc1f686d648b2
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This is no longer necessary now that the recommended way of creating
custom shells is to use QWaylandShellIntegrationTemplate. This also
restores the old internal API in use by existing shells.
Task-number: QTBUG-94330
Change-Id: I0fa0ba0d928baa2edf5d68e879558081026436c8
Reviewed-by: Vlad Zahorodnii <vlad.zahorodnii@kde.org>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
Reviewed-by: David Edmundson <davidedmundson@kde.org>
|
|
|
Adds a new API for writing custom shell extensions. This API is supported,
but semi-public. Binary compatibility is not guaranteed.
Also adds qt-shell, a new shell that maps directly to the QWindow API, and
provides functionality that Qt provides on other window systems, such as
absolute window positions and window activation. This shell is not intended
for use on the desktop.
This is a squashed commit of a development branch consisting of approximately
60 changes. Contributors:
Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
Paul Olav Tvete <paul.tvete@qt.io>
Task-number: QTBUG-94330
Task-number: QTBUG-91542
Change-Id: I419b6bd8179fe03e4da47d328c7ff4b4795b8a91
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
Reviewed-by: David Edmundson <davidedmundson@kde.org>
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|