Age | Commit message (Collapse) | Author | Files | Lines |
|
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: Id19a1865baef6e7c9804a281d583a4ac19421851
|
|
As we're increasing the amount of combinations we could have in the AGL
platforms, in which we're mixing various platforms, we require a way
to tell clients that there's already a shell client which in charge.
We can't really have multiple shell clients managing the windows and
surfaces, but in the same time we don't want to sever the wayland
connection the way it happens currently. Racy alternatives might exist,
which avoid advertising the interface altogether once a
client did bind to the interface but that's not really a
viable solution.
So instead of doing that, this patch introduces two new events which
tells the client that it was either successful, and it can continue
issue requests and receive events or a that it the bind failed. The
client can chose to wait and try later and abandon to bind to the
agl_shell intefface, and behave like a regular client.
While doing an update to protocol to add those two events this patch add
also a default destructor for the protocol.
Bug-AGL: SPEC-4502
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: Iacb86a668d1c4630724eecdb18e4b4c2d4e8e34a
|
|
- Fix brackets of link
Signed-off-by: chintsung <chichon.tw@gmail.com>
Change-Id: I1f96362bf02919b5bffea9977883f58dd2fa66ac
|
|
And with it, use it *as well* when detecting a surface shouldn't be
presented if activate-by-default is disabled. The reason for doing that
is to allow application the resize and receive frame events right after
the client shell has been started.
Doing it a later point it time, right when a potential activation could
come from a client, wouldn't really be useful as the client won't react
to configure events. This particular fix is for cases where the
activate by default is disabled and the application itself was added
*before* the client shell sent the ready request.
Bug-AGL: SPEC-4423
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Reported-by: Vasyl Vavrychuk <vasyl.vavrychuk@opensynergy.com>
Change-Id: I5b08d2ff65fca28126608c2677ec9b558a34caa1
|
|
As both names are similar this was probably a typo, and instead of using
the iterator for the list we should use the item itself. This was pretty
hard to track as initially everything was set-up alright.
We were still getting empty lists of pending remote surfaces, when I
observed that we were using the iterator rather than the new item we
just create in that function.
Bug-AGL: SPEC-4445
Reported-by: Scott Murray <scott.murray@konsulko.com>
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: I77c4c6721eb4a4e3e8e66faa4fa0584b136d322e
|
|
We can specify over cmd line if we don't have any input devices.
Found while investigating xdg-shell and keyboard activation.
Bug-AGL: SPEC-4415
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: I54be16e38922c5216f8075074bd1d47468ec07a3
|
|
Bug-AGL: SPEC-4412
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: I427c2920315b223432f273d08a69a069d66310c9
|
|
Upon deactivation explicitly mark the surface as unmapped, and keep
track of the state using the enum already added for that.
Further more, at remap, we need to perform a transform update, so this
adds that as well.
Together with these changes, we now can activate/hide the pop-up window
correctly.
Bug-AGL: SPEC-4412
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: I4dda48dbda265d19df9c7fb4a25773afa8245cf3
|
|
Now that we have common function that peforms surface activation
(xdg-shell and input one) use it for touch and keyboard.
Bug-AGL: SPEC-4413
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: I325e33da4c48f2741a7bb8f5ac706f838f9dabc4
|
|
Although we don't really use these flags make it so we
deliever them to libweston.
Bug-AGL: SPEC-4413
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: Idbbf2278c5fcaf75a8ef2f89499f7815d4a9e88f
|
|
We install a common function which is being used to de-couple
keyboard presence from input and xdg-shell activation. We also
also use it at surface removal/destruction.
Bug-AGL: SPEC-4413
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: I2686e5a4aab3e95fbeaa4100faa2dc0051881f24
|
|
For instance this exports retreiving a ivi_seat from weston_seat, and
they are useful in other parts as well.
Bug-AGL: SPEC-4413
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: I838823570792761dfb5ac4beea635e843dd5cd22
|
|
We might need to retrieve the seat in from different places to make it
available.
Bug-AGL: SPEC-4413
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: I76343fe6039ae088356ddc33364e917d67dd414b
|
|
This is part of the bigger series to remove the need to have a keyboard
present to activate views/surfaces. This clean-ups any keyboard
listener we had installed previously.
Bug-AGL: SPEC-4413
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: Iacd63a857cfe4d17c665f37dc8338cd790b7d16f
|
|
While we can have multiple outputs, each with its own fullscreen view,
we have a layer-per-output hence we can't really call layer_fini()
in the output destruction as that what would result in an invalid
link access.
Handle those views destruction and with it, the fullscreen layer fini,
in the finalize bit where all others are handled as well.
This fixes a crash at shutdown, which could be seen when using multiple
outputs, and probably quite problematic when handling a restart.
Fixes: 43bdf9a42bac33df174d6ac7ff1ab2e15441c7b5
Bug-AGL: SPEC-4420
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: I773890a24ad8ca2556c1d4ddda7f37ebae02c9de
|
|
With commit 'layout: Send dimensions when setting up property as
fullscreen' we made so that fullscreen applications will receive the
configure event right from the beginning but that changed a bit the way
we handled applications that do not set-up an appid before doing the
initial wl_surface.commit.
Avoid doing that such that applications do not need to go through a
resize.
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: I91a9ab97ff5e30d3a86cda499d394c1a9fcde338
|
|
This way we don't race with it. Part of 'shell: Added missing layer fini
calls'.
Bug-AGL: SPEC-4351
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: I366364ba128ca1dacd3d3639a1b74b02f3ceef21
|
|
Add some further comment why we could still potential need it.
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: I510cd60d5feeccf7d8b9b34fb73e0e272fac5c6a
|
|
This reverts commit 8f85581e96bc71512cbef015ff12dc6441c07d9c.
I incorrectly assumed that we don't need to schedule a repaint, but
applications that do not set-up an appid would still need to go through
a resize and we need to continue to allow doing that.
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: I3702fa0a9c29290746250992d8921f777daa9fbf
|
|
Newer libweston version introduced additional API to determine if we are
missing out proper destruction paths.
Bug-AGL: SPEC-4351
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: I135ca463992244ae91512854c7da7004de48f72e
|
|
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: I010463d02a1dc71539754be24ce8c5d747a31b96
|
|
Some dead code artefacts, no need to keep these in.
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: Idca7f858592b422a0e028ed03e10f4bb418bcb40
|
|
Part of a larger clean-up.
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: I8532fb03e1911f9dc5c04fa113d2b3e2eeba4879
|
|
Bump meson version requirements to a much newer version + some minor
compiler options which are handled directly by the build system.
yocto seem to use meson 0.63 so we're more than fine bumping the verison
for meson.
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: I69305b3b33e4919cb19ffa088b3530720f1b45c5
|
|
In a previous patch we optimized sending the dimensions from the start,
but in some situations the client might set up the surface roles
*after* that happens, which might lead to issue as we are explicitly
terminating the connection if the client wasn't correctly resized by
that time.
This corrects that such that even if we perform a late set-up for the
fullscreen role, we can still tell the client to resize, and later on to
display the surface.
Bug-AGL: SPEC-4339
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: I491c60c9881e99bc3201216a842782417286f0d9
|
|
Instead of doing it at commit time, do it right after getting the xdg
toplevel surface such that clients can use it from the beginning.
This now includes fullscreen, besides regular desktop roles, and it
avoid mapping the fullscreen upon commit if the dimensions do not really
match up.
Bug-AGL: SPEC-4339
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: I7185b10770c69d1d6572b0bc025c4a58fe431c67
|
|
We should always perform a view update transformed when the view is not
mapped -- or better said when mapping the view. Found while
investigating some certain bevahiours related to surfaces not being
activated by default.
While a dirty+surface damage is sufficient when adding views to layers,
on mapping we should also perform an transform update of the view.
Bug-AGL: SPEC-4302
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: Ia8e8ed2c4cc165e7fd371a474d85b5fe38bd87fa
|
|
Instead of tagging it various places just do it a completion phase.
Makes things a bit easier to follow/read.
Bug-AGL: SPEC-4302
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: I91ad6b29a786c4c78afa8ff07d104008be7bcb84
|
|
This variable is about surface being displayed, rather than being
activatred so use mapped to better reflect that.
It also makes things easier to keep track per surface about surfaces
being activated by default or not. No functional change whatsoever.
Bug-AGL: SPEC-4302
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: Ib0c508dff3eef593d86f259b55ff4e7087313a69
|
|
Changes:
- Bump libweston dependencies in meson.build.
- Handle addition of another argument to the wet_main and
weston_compositor_create functions.
Bug-AGL: SPEC-3819
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
|
|
Changes:
- Bump libweston dependencies in meson.build
- Match weston_compositor_tear_down -> weston_compositor_destroy API
change by following what was done in weston for 9.0
- Update log context code to match API changes, based on what was
done in weston for 9.0
- Update transform names to match weston
- Initialize a couple of structure fields to avoid failure from
-Werror=missing-field-initializers triggered by changes in newer
wayland.
Bug-AGL: SPEC-3819
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Change-Id: I48fab590eb59a1b83b0cebc3762ba730450b0e3a
|
|
Bug-AGL: SPEC-4291
Signed-off-by: duerpei <duep.fnst@fujitsu.com>
Change-Id: Ieaa78e59365c8749754117cf2587b4c72e1f1f31
|
|
wet_main->parse_options-> .... ->strdup ->malloc
"config_file" memory is not released
"log"memory is not released
When agl-compositor startup parameters contain socket and modules,
the memory of socket_name and option_modules also needs to be released.
So these two pointers are also released.
Bug-AGL: SPEC-4270
Signed-off-by: duerpei <duep.fnst@fujitsu.com>
Change-Id: I0d74b92187a0779610f32e75b33ab4fca10329a5
|
|
This is just a missing left-over 'layout: Inflict damage on all
subsurfaces'. As we have different paths for other types of surface
roles, address them as well.
Bug-AGL: SPEC-4262
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: I2b68bf986ad694b0e31396edc24c54cf1dc4d834
|
|
Commit 'layout: Remove explicit damage call' re-done the way we've
handled additions to the layer, removing any damage infliction to either
the plane where to view is visible. While marking the view as dirty (and
with it any other children to the that view), we still
to tell the compositor that the view being added, has suffered changes.
Bug-AGL: SPEC-4262
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: If3033df36943fb466302e7907bd38f9a0703d49b
|
|
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: Iba0cab61d20d8c92f6e179e25388c66a7d0e41f3
|
|
Bug-AGL:SPEC-4257
Signed-off-by: duerpei <duep.fnst@fujitsu.com>
Change-Id: I0effc97710d9bf93f5044e22400e9ff6699a4309
|
|
meson (0.53) seem to be smart enough to resolve cross-compile
dependencies without setting explicitly the dependency type.
Setting the dependency as native results in ignoring PKG_CONFIG_PATH
and using PATH to choose and alternative pkg-config. Sourcing the
yocto/OE toolchain would result in picking the hosts pkg-config due to
modified a PATH where SDKTARGETSYSROOT is before any of the hosts paths.
Combined that with the fact that PKG_CONFIG_PATH is reset when the
dependency is se to native (why that hapens is something to further
investigate) results in not finding wayland-scanner.
Tested with both yocto/OE toolchains and native (local) builds to make
sure we can still build it and seems we're fine.
Bug-AGL: SPEC-4169
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: I5c4b12eff044aeb0c3ab4c18e943da4e15d6c411
|
|
Bug-AGL: SPEC-4221
Signed-off-by: Rongrong Yuan <yuanrr.fnst@fujitsu.com>
Change-Id: I30634977a3b899647a5f2faad2c70db39e97d09e
|
|
We're missing determining the buffers dimenions, so this basically adds
that. Turns out this was introduced w/ commit 'clients/screenshooter:
Fix taking screenshot on multiple outputs'. Still clueless on how this
worked in CI, unless we're using `-a' to take a screenshot on all
outputs.
Bug-AGL: SPEC-4217
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: I9a849457e9ca40f0b36e7249d9142b32ca3114ab
|
|
Add a check to verify if both the surface/view was created successfully
in function create_black_surface_view of src/shell.c file.
Bug-AGL: SPEC-4193
Signed-off-by: ZhouMingying <zhoumy@cn.fujitsu.com>
Change-Id: I69c6a6023c8b7a3b6e376f3cba25020a851648ab
|
|
There's no NULL check in zalloc.
Add a NULL check after zalloc.
And add memory free before return error.
Bug-AGL: SPEC-4178
Signed-off-by: ZhouMingying <zhoumy@cn.fujitsu.com>
Change-Id: Ic0e0e2007b2897a451507aed100ad01b65695383
|
|
There's no NULL check in zalloc.
xdg_output is alloced by zalloc.
Add a NULL check after zalloc and before use xdg_output.
Bug-AGL: SPEC-4178
Signed-off-by: ZhouMingying <zhoumy@cn.fujitsu.com>
Change-Id: Idc2e3fd6be823c063a84868ba37b26ffe90db6fc
|
|
There are several spell issues in the protocol xml files.
Modify to correct them.
Bug-AGL: SPEC-4174
Signed-off-by: ZhouMingying <zhoumy@cn.fujitsu.com>
Change-Id: I052a1cb4b1a0054305899a1d83e4be0fd9d03c2b
|
|
There are several issues in the README.md file.
Modify to correct them.
Bug-AGL: SPEC-4154
Signed-off-by: AndyZhou <zhoumy@cn.fujitsu.com>
Change-Id: I3a26692ba5257f99038262fdd1e45d87dd84da08
|
|
As we will be marking all the views dirty, weston_output_repaint()
should pick-up correctly any inflicted damage, and perform an
implicit redraw without the need for an explict to call to
weston_view_below_damage().
Note that we still need to schedule a repaint for that particular view.
While at it, also remove an explicit call to
weston_view_update_transform() which is going to be handled internally
as well, when rebuilding the view list by libweston.
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: Ic701daebe69613b3dcc8eef96cac05c1b803327a
|
|
As it has been seen with the camera-gstreamer application, when switching
back and forth between various other application and camera-gstreamer
we'll get artefacts/black surface as a result that we're only adding
damage to the main parent surface.
Bug-AGL: SPEC-4145
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: Idf49e6c9100d63f5a5c63c34bfc65e8641eba822
|
|
This bumps the compositor version to accomodate the protocol
update well.
Bug-AGL: SPEC-4133
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: Iea01e3e36ef9ebf1f90e3fb07bd9637d8d060ab2
|
|
This patch refactors a bit the way we add pending surface roles, such
that it updates to an existing surface, rather than create a new one
with the same app_id.
Bug-AGL: SPEC-4133
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: Ifd7477ea0f0840d6fd82bbc21216a7694d0efa8b
|
|
Tearing down the ivi compositor instance (the shell) requires listening
for such an event and handle any potential destruction of surfaces.
With it we use to destroying any pending surfaces might have been left.
Bug-AGL: SPEC-4133
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: I911c590409700374007673da680b7a76f69be1b2
|