Return window type

Add a method that returns the window type from the shell surface.
While we're here, add the Transient window type.

Change-Id: Iaf0b9de1b418f6066e9e909530d4cec65e51fa38
Reviewed-by: Andrew Knight <andrew.knight@digia.com>
Update surface item position when it's created

Set surface item position according to the surface as soon as it's
created. Unlike toplevel surfaces, transient surfaces have coordinates
which are relative to the parent.
Updating the surface item position at creation time makes such surfaces
appear at the right position.

Change-Id: I33073b03c352e592ae9e0f54ddf417f93453869e
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
Reviewed-by: Andrew Knight <andrew.knight@digia.com>
Build fix for platforms without xkbcommon.h

Change-Id: Id08b16326575f93891e880afbe22dc034062a9af
Reviewed-by: Andrew Knight <andrew.knight@digia.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
Pass full screen method constant name instead of value

Minor change but it makes the code more readable.

Change-Id: I89206e519daec9c1d7fc2b5e716943396e6ea76b
Reviewed-by: Andrew Knight <andrew.knight@digia.com>
Enable stencil in qwindow-compositor.

Handy when Quick rendering that needs stencil is performed in-process.

Change-Id: Ic6593150ddde217fa0ad257f889eda131fb09095
Reviewed-by: Andrew Knight <andrew.knight@digia.com>
sync.profile: Remove qtjsbackend

It's no longer a dependency.

Change-Id: I1002093df9f42b0b7dfacd0daa9f33889a997d43
Reviewed-by: Simo Fält <simo.falt@digia.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
Link against glib if necessary.

Change-Id: Ie0f87c24d15a6784cc9ed1201d3578ffbf94d191
Done-with: Carsten Munk <carsten.munk@jollamobile.com>
Reviewed-by: Andrew Knight <andrew.knight@digia.com>
Unbind suface item from surface when surface is destroyed

Call setSurceItem(0) for surface which is being destroyed.
Otherwise, surface may have invalid reference for surface item
even after the surface item is deleted.

Change-Id: Ibb7aa19af39a3cd56790e26a36cad8a9d6d9c47e
Reviewed-by: Andrew Knight <andrew.knight@digia.com>
QtCompositor: fix null pointer reference

Don't call a method on a null pointer in QWaylandInputPanel

Change-Id: I1e32a84323a06267bd5e3a4aee6c0a94c98b8df3
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@gmail.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: I3d5ed186190a0b7ab9d94846a00040a70f5554b4
Reviewed-by: Sergio Ahumada <sahumada@blackberry.com>
Use QElapsedTimer for Compositor timer

Because it's the "Qt" thing to do.

Change-Id: Id85d1c3a51745d2c876b4337e90776628e79233a
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Reviewed-by: Jan Arne Petersen <jan.petersen@kdab.com>
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@gmail.com>
QtCompositor: Make ExtensionFlags a QFlags

This simplifies the creation and use of ExtensionFlags.

Change-Id: Ia72bbc3f712759b231d8543a4f13ef2fdf6260f3
Reviewed-by: Jan Arne Petersen <jan.petersen@kdab.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
InputMethod extension fixups

Add a missing slot decorator and a missing return statement.

Change-Id: Iad7944b1b9d35ce45818d3be418dc897d7deed69
Reviewed-by: Jan Arne Petersen <jan.petersen@kdab.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
QtCompositor: simplify retained selection implementation

There is no reason to use a function pointer to handle selection override.

Change-Id: Ic25d8f7cef97ce25666022e5119546647ec526f0
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
QtCompositor: Handle destroyed DataSource objects in DataDevice

Fast selections can create dangling pointers to DataSource objects, so
make sure the DataDevice is aware of DataSource destruction.

Change-Id: Ibcb7eec3b3403bd6ee53b6f09815d78148f65b4d
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
QtCompositor: handle destruction in InputMethod

Fix dangling pointers to resources when the InputMethod is closed.

Change-Id: I177c954d27e8bd86bcf90fa89bf92d58ae023b9c
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
QtCompositor: Allow key events to be delivered to unfocused windows

Adds an overload to QWaylandInput::sendFullKeyEvent which allows
specifying the surface to deliver the event to. This also extends
the Qt keyboard extension to allow sending keys to specific windows.

Change-Id: I1b7abdc4d8a30392ef2e7ee5e9af5b3036b23577
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
QtCompositor: Allow key events to be delivered to unfocused windows

Adds an overload to QWaylandInput::sendFullKeyEvent which allows
specifying the surface to deliver the event to. This also extends
the Qt keyboard extension to allow sending keys to specific windows.

Change-Id: I1b7abdc4d8a30392ef2e7ee5e9af5b3036b23577
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
QtCompositor: Make ExtensionFlags a QFlags

This simplifies the creation and use of ExtensionFlags.

Change-Id: Ia72bbc3f712759b231d8543a4f13ef2fdf6260f3
Reviewed-by: Jan Arne Petersen <jan.petersen@kdab.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
InputMethod extension fixups

Add a missing slot decorator and a missing return statement.

Change-Id: Iad7944b1b9d35ce45818d3be418dc897d7deed69
Reviewed-by: Jan Arne Petersen <jan.petersen@kdab.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>