[PATCH weston 5/5] ivi-shell: forward zero size to controller
Pekka Paalanen
ppaalanen at gmail.com
Thu Mar 24 08:58:49 UTC 2016
On Wed, 23 Mar 2016 23:50:13 +0100
jeka <friedrix at gmail.com> wrote:
> Hi,
>
> this is indeed a change in behavior, there is a case in ivi-controller
> where the ivi surface has not width and height it is the time between
> the ivi surface is created but the corresponding wayland surface did not
> received any buffer so far. Of cause wayland surface might also get
> buffer attached with size zero but this case is not properly handled
> currently.
>
> I would like to skip this patch for the time being
Hi,
very well, I can easily rewrite this to not change the existing
behavior.
I just wonder, how do you get a configure call from Weston core with
zero size then? Do you have applications that do the first commit
without attaching a wl_buffer? Is there a need for them to do that?
If an application actually has a need to commit before attaching a
wl_buffer, I would presume that is because it would signal the
controller to send some feedback that is needed to allocate and draw
the buffer, e.g. the initial size via ivi_surface.configure event. In
that case, it would be necessary to forward configure calls also with
zero size rather than ignore them. But, I also don't see any mention of
such in the ivi-application.xml protocol spec.
Might be a good idea to do something like that anyway for the initial
size, perhaps? That is, *if* it is desireable to require the client to
commit after the ivi_application.surface_create request. It might not.
Thanks,
pq
> On 22.03.2016 15:48, Pekka Paalanen wrote:
> > From: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
> >
> > When surface size changes to zero, do not ignore it, but forward that
> > change to the controller. A controller should do what's proper for a
> > surface that just lost its content.
> >
> > Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
> > ---
> > ivi-shell/hmi-controller.c | 2 ++
> > ivi-shell/ivi-shell.c | 3 ---
> > 2 files changed, 2 insertions(+), 3 deletions(-)
> >
> > diff --git a/ivi-shell/hmi-controller.c b/ivi-shell/hmi-controller.c
> > index e9c9ab0..7c96439 100644
> > --- a/ivi-shell/hmi-controller.c
> > +++ b/ivi-shell/hmi-controller.c
> > @@ -660,6 +660,8 @@ set_notification_configure_surface(struct ivi_layout_surface *ivisurf,
> > */
> > surface = ivi_layout_interface->surface_get_weston_surface(ivisurf);
> > if (surface) {
> > + /* XXX: needs to handle zero size by unmapping the surface */
> > +
> > ivi_layout_interface->surface_set_source_rectangle(
> > ivisurf, 0, 0, surface->width,
> > surface->height);
> > diff --git a/ivi-shell/ivi-shell.c b/ivi-shell/ivi-shell.c
> > index c502c74..fe86c27 100644
> > --- a/ivi-shell/ivi-shell.c
> > +++ b/ivi-shell/ivi-shell.c
> > @@ -118,9 +118,6 @@ ivi_shell_surface_configure(struct weston_surface *surface,
> > if (!ivisurf)
> > return;
> >
> > - if (surface->width == 0 || surface->height == 0)
> > - return;
> > -
> > if (ivisurf->width != surface->width ||
> > ivisurf->height != surface->height) {
> > ivisurf->width = surface->width;
> >
> _______________________________________________
> wayland-devel mailing list
> wayland-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/wayland-devel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 811 bytes
Desc: OpenPGP digital signature
URL: <https://lists.freedesktop.org/archives/wayland-devel/attachments/20160324/d2e088d0/attachment.sig>
More information about the wayland-devel
mailing list