| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
| |
GCC 4.8 doesn't like QPointers in signal connections.
Also, Default Member Initializers for aggregates
are C++14, so we need to write a constructor to make
a class with DMIs work in C++11.
Change-Id: I567c60a8081fa2f268517ec747bd6534674bcce5
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If clients were disconnected without shutting down nicely, e.g. if Qt clients
were terminated with SIGINT, then QWaylandXdgToplevelDecorationV1 would be
deleted before its Wayland resource, causing a crash in the resource destroy
handler.
This switches to a raw pointer in the toplevel, which is now cleared when the
decoration is deleted. Deletion order is also ensured by conditionally destroying
the resource in the toplevel destructor.
Warnings are also printed when clients destroy objects in the wrong order
(protocol errors).
Change-Id: I8c24becb82e298e93cd45d70a004d8d23ead382b
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
|
|
|
|
|
|
|
| |
[ChangeLog][Compositor] xdg-shell minimum and maximum sizes are now respected
when resizing.
Change-Id: Iaf6a2bd283117e948fda6693530e08f68f755a17
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
|
|
|
|
|
|
|
| |
And add an example with server-side window decorations.
Task-number: QTBUG-69934
Change-Id: Ic3984b50cf7574cae5135dea51eb4b1c80bb45a7
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
|
|
|
|
|
|
|
|
| |
There are two different types of edges in xdg-shell. Make it more explicit
which ones we are using.
Change-Id: I7e18a376b359be8e06f96cae897d7ccbc62e3c3e
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
[ChangeLog][Compositor API] Added APIs for xdg-shell stable.
Code copied from the V6 implementation with suffixes and prefixes removed.
Otherwise a few minor edits, such as renaming xdg_shell to xdg_wm_base, and
handling the anchor and gravity edges no longer being bitfields.
Examples that used v6 have been updated to use stable instead, or, in some
cases, to support both.
Task-number: QTBUG-66784
Change-Id: Ia619b478a938fdcd9b47af8a8df2d7fcc4406204
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
|
|
|
|
|
|
|
| |
This frees the QWaylandXdg name for the hopefully coming stable
version of xdg-shell.
Change-Id: I9beb9b035c6497fb45bee5c9104485b564ca0619
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The name QWaylandInputDevice could be confusing and misleading:
- A QWaylandInputDevice was not one input device, but a collection of many.
- Classes that sounded like they should inherit from it did not, i.e:
QWaylandKeyboard, QWaylandPointer and QWaylandTouch.
- The Wayland protocol already has another term for this, which is seat.
Change-Id: I9d9690d5b378075d9dddaeb8cf18395c7f47603e
Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
This allows compositors to track when a window changes type and
act accordingly (for example do a different show animation).
Compositors might also want to keep track of the window type in
order to filter out windows when presenting them to the user,
think of a spread windows effect that only shows top level windows.
Change-Id: I13c0ed3db2bdc6318ff1f4345d065e188b7c2435
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
|
|
|
|
|
|
|
|
| |
This fixes a resize issue where the window would scale to be bufferScale times
the size it should have been.
Change-Id: I4d3eee52d54a063c0a617a053cbe05b351f18f76
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@hawaiios.org>
|
|
|
|
|
| |
Change-Id: I5b35ff3b1c6c2dc884b52e6f077c0f2bb2db68a2
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@gmail.com>
|
|
|
|
|
| |
Change-Id: I29c48ae9c44fc5601200a6bb6f6a7dbd9c8baba3
Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
| |
This commit would have broken source and binary compatibility between
5.7.0 and 5.7.1.
This reverts commit 20692ad15b8ac0c24b12d30609f061a740c87f23.
Change-Id: Ic4156571889ec08a708e67c55d461d3052ce0ad0
Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>
|
|
|
|
|
|
|
|
| |
Store the position relative to the parent
Change-Id: Iccae120b70e98388d18e4867e21a3a8c36ddd522
Reviewed-by: Erik Larsson <erik@ortogonal.com>
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@gmail.com>
|
|
|
|
|
|
|
|
| |
Previous subclasses are now inheriting directly from
QWaylandExtensionPrivate instead.
Change-Id: I33ef88867fcf216a7b1441f69b7025bc2a4367dc
Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
|
|
|
|
|
|
|
|
| |
Since we have QWaylandClientExtension
Change-Id: Ie8d60322c8e730bda651e06ed5db0fe1359d946e
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
|
|
|
|
|
| |
Change-Id: I1f9be6049ca5657b07ca99f873a12b5c2e4b6834
Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>
|
|
xdg-shell is an extension to the wayland protocol providing
functionality suited towards traditional desktop environments.
Most of the examples from Weston now require xdg-shell, ivi-shell or
some other custom extension. In order for our compositor-api to support
those examples and many real-world applications, we needed a compositor
implementation of xdg-shell.
This commit adds a class QWaylandXdgShell, along with
QWaylandXdgSurface and QWaylandXdgPopup. These clases are used almost
exactly like the corresponding QWaylandShell* variants.
qwindow-compositor has been updated to use the new functionality.
qwindow-compositor now only sets focus on surfaces that have a role.
weston-terminal was crashing because we set keyboard focus on the cursor
surface.
Keyboard focus handling has been slightly changed. Most of the
functionality has been moved from QWaylandKeyboard::setFocus to
QWaylandInputDevice::setKeyboardFocus. This is done in order to track
where the keyboard focus should have been, in case the input device
(seat) does not currently have a keyboard capability.
If a keyboard capability is later set on the input device, its focus
will automatically be set to the value stored in QWaylandInputDevice.
The reason for the change in keyboard focus handling is that we need to
know if an xdgSurface has keyboard focus in order to know whether to
send the Activated state in configure events. The Activated state tells
the client to draw itself as having focus (i.e. title bar not grayed out).
Change-Id: I1b1ca9a4223e87f5ade1e0f4c975979a400c38cb
Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@gmail.com>
|