Fix the popups handling.

Use wl_shell_surface_set_popup() instead of wl_shell_surface_set_transient(),
since the latter is not supposed to make the surface follow the transient
parent movements.

Needs Weston master or 1.0.6, otherwise freezes will happen.
To have the best experience you should however use recent weston master.
The popups in QtCompositor are badly placed.

Change-Id: I3c86e5d74503514749840681b4e81c58cd73ca70
Reviewed-by: Andy Nichols <andy.nichols@digia.com>
Attach always the front buffer before committing it.

The attach semantics changed in Wayland master.

Change-Id: I79efa5e3b2d048604cadb18543101a869ccb6835
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@gmail.com>
Reviewed-by: Andy Nichols <andy.nichols@digia.com>
make failure to configure wayland non-fatal for a top-level build of qt

Change-Id: Ibd0557158ffa00cbacd64b4780961a684ab40afb
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
Merge remote-tracking branch 'origin/stable' into dev

Conflicts:
	qtwayland.pro
	src/plugins/platforms/wayland_common/qwaylandshellsurface.cpp
	src/plugins/platforms/wayland_common/qwaylandwindow.cpp
	src/plugins/platforms/wayland_common/qwaylandwindow.h

Change-Id: I6f9e8fb0536212b7b072aec3c8152390fb9f2922
Require wayland-cursor to build

Change-Id: Ib09b2cff3f7f57efd25cbd9b085542eab2ac2853
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
client test also needs compositor

Change-Id: I596e3a4a9f4db8e4b0559573d7a33671c0bc366a
Reviewed-by: Jan Arne Petersen <jan.petersen@kdab.com>
Reviewed-by: Andy Nichols <andy.nichols@digia.com>
Remove unnecessary dependency to qtjsbackend from sync.profile

Change-Id: I58fcca14e09b301ff1e744538046c00da7d83200
Reviewed-by: Andy Nichols <andy.nichols@digia.com>
Merge remote-tracking branch 'origin/stable' into dev

Conflicts:
	qtwayland.pro
	src/plugins/platforms/wayland_common/qwaylandshellsurface.cpp
	src/plugins/platforms/wayland_common/qwaylandshellsurface.h
	src/plugins/platforms/wayland_common/qwaylandwindow.cpp
	src/plugins/platforms/wayland_common/qwaylandwindow.h

Change-Id: Ifa9bc553d826b893b054bbaef5ea3fc3013de3df
Update to work with Qt 5.2

Change-Id: Ide081251b32ade32d552fc949e10a518ff0fa89a
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@gmail.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
Reviewed-by: Jan Arne Petersen <jan.petersen@kdab.com>
Wayland platform: Fix xcomposite-glx for GL apps on Qt 5.2

The surface format was not set properly in the client side
integration, leading to mysterious errors e.g. in shader compilation.

Change-Id: Id5913def1d82970680d71832ac5fadf87e0956c2
Reviewed-by: Andy Nichols <andy.nichols@digia.com>
Wayland platform: Fix xcomposite backends not to hang after the first GL frame

attach() needs to be called from swapBuffers(), not just once from createSurface().

Change-Id: I8545c1a16179d9e78ae45c0532c89a6298820aa4
Reviewed-by: Andy Nichols <andy.nichols@digia.com>
Wayland platform: Do not claim threaded GL support in xcomposite-glx

Change-Id: Ie650bf0b4c243080d8f6173b9e299eb70afc8f90
Reviewed-by: Andy Nichols <andy.nichols@digia.com>
Bump version to 5.3

Follow Qt version in the dev branch which is now 5.3.

Change-Id: Ib10a39cf8cc43dbbc7113d2ca06a9404d7b23a1e
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
Update sync.profile to track dependencies from the same branch

If we leave the git symbolic ref empty, it will track dependencies from
the same branch.

Change-Id: Ia1cc9ea2e58386636833a30d9844545a9de9d27a
Reviewed-by: Sergio Ahumada <sahumada@blackberry.com>
Merge remote-tracking branch stable into dev

Conflicts:
	.qmake.conf
	src/compositor/hardware_integration/qwaylandclientbufferintegrationplugin.h
	src/plugins/hardwareintegration/compositor/brcm-egl/main.cpp
	src/plugins/hardwareintegration/compositor/wayland-egl/main.cpp
	src/plugins/hardwareintegration/compositor/xcomposite-egl/main.cpp
	src/plugins/hardwareintegration/compositor/xcomposite-glx/main.cpp
	src/plugins/platforms/qwayland-brcm-egl/main.cpp
	src/plugins/platforms/qwayland-egl/main.cpp
	src/plugins/platforms/qwayland-generic/main.cpp
	src/plugins/platforms/qwayland-xcomposite-egl/main.cpp
	src/plugins/platforms/qwayland-xcomposite-glx/main.cpp

Change-Id: I957c9bee893a9e19fc8c93f0e51292007fb3a4a8
Fixup plugin interface versioning

Change-Id: Ia4ab692fde0dee9224c9c0e3204cfee56144b50f
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
Update the required wayland version to 1.3

Change-Id: Id1c9d14061d513f6c37a59ed8161732366ab3526
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
Fix compiler warnings because of deprecated apis

Change-Id: I60faee3fb4b9a74a13c8489a5dd1df7a2a5a4ae4
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
Fixup the iid versions for the plugins

Change-Id: Iac1b8b070d3bf87b29d0be9a2a76fd56e7046f0f
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
Fix buffer handling.

The surface now has a distinct back and front buffer. Front means it
is on the screen and being used as a texture. Back means it should be
put to screen in the next updatePaintNode().

For the purpose of QML and GUI-thread properties, the 'back' buffer is
what contains the correct properties as it is what it will eventually
be rendered with. For the purpose of rendering, the front buffer
contains the right texture. If no back buffer is present, then there
was no changes and front buffer applies to both.

The Surface's buffer queue has been updated to only fire damage and
advance once we swap back buffer to front buffer which happens during
updatePaintNode(). The fact that the buffer advancing happens during
sync also means that we are releasing buffers back to the client as
soon as another buffer is ready to be displayed in the compositor.
This is "half a frame" earlier than the current implementation (which
releases after the next swap). We consider this safe because:

 - The compositor has a new buffer to display and does not need the
   old one.

 - If the GPU is not done rasterizing the scanout buffer for the
   previous frame, it should hold a read-lock on the buffer so
   preventing the client from starting a render to it. If this
   assumption fails on any hardware we can make the time of
   buffer-advance optional. Either during "sync" or during "after
   rendering" as it is today, but "after rendering" will not offer any
   guarantee, just more time, resulting in a higher chance of the
   buffers being ready. Aka, without an internal read-lock and no
   fence mechanism, there is no guarantee.

Texture cleanup is now explicit as we have a well defined location to
clean up textures, during updatePaintNode(). This avoids cleanup
issues which previously existed as buffer cleanup was happening on the
GUI thread. Surface and Buffer destruction coming over wayland is
queued up in compositor and handled before the next "sync", when it is
safe to do so.

The change also removes doUpdate, postBuffer and frameSwappedInternal
as these are no longer used. Direct rendering will need to be
considered in a new light with the new buffering scheme, and anyway
needs work.

Change-Id: I2db0385b4b8859f96caba374f3530448178e1473
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>