[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