layout: Do not delay mapping of desktop surface until commit time 34/23734/2
authorMarius Vlad <marius.vlad@collabora.com>
Mon, 3 Feb 2020 19:48:39 +0000 (21:48 +0200)
committerMarius Vlad <marius.vlad@collabora.com>
Tue, 4 Feb 2020 17:03:46 +0000 (19:03 +0200)
commit08ea4a2fec76b4bdd90b6072ff1002d0829afbed
tree74666413de15c37a3a76cffcc1f89861e955f2e4
parent3950b7e787c19bd1917533081c8fb8d4331e4ef3
layout: Do not delay mapping of desktop surface until commit time

On some older qtwayland versions (5.11) the weston_desktop_surface
window geometry has all its members set to 0. The panel initialization
takes place with the 'ready' request and this will result in an invalid
x and y position for panels  different than the top one.

This patch alleviates that by not mapping the desktop surface in case we
determine that the desktop_surface geometry is invalid and proceed on
doing so when the surface is committed, which will allow to retrieve the
correct desktop surface and set the proper location of the panel. That
should be sufficient to display top/bottom panels until we switch a
newer qtwayland version. This keeps the panel initialization in place,
as to avoid any other changes in the future.

Bug-AGL: SPEC-3136

Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: I7388444ffe213f0524898cd3a5b175d90985ff1c
src/desktop.c
src/ivi-compositor.h
src/layout.c