profile/ivi/qtwayland.git
11 years agoUpdate QtWayland to 5.0 beta1 1.0 1.0_branch
Thiago Macieira [Thu, 13 Sep 2012 18:03:15 +0000 (20:03 +0200)]
Update QtWayland to 5.0 beta1

Change-Id: I46ae451f96f838ed6f8326e53ed37cee4d58eeb1

11 years agoAdd more files to the ignore list.
Pier Luigi Fiorini [Wed, 22 Aug 2012 11:45:09 +0000 (13:45 +0200)]
Add more files to the ignore list.

This improves reading the git status output a lot because
it gets really big once you build the qtwayland module.

Change-Id: Ic7d7c1fe73eccef4802fb6198c6c8caefa7a3e23
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
11 years agoFix mouse input in WaylandSurfaceItem.
Pier Luigi Fiorini [Sun, 26 Aug 2012 19:55:37 +0000 (21:55 +0200)]
Fix mouse input in WaylandSurfaceItem.

Mouse input is fixed by passing global coordinates to the mouse
events, now windows can be moved by a QML-based compositor.
Also, all the mouse buttons are accepted.

Change-Id: Ib4cdca047ffffcc2a89a23847c813d34387ca591
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
11 years agoqtwayland: correct order of parameters in setMouseFocus()
Elvis Lee [Mon, 20 Aug 2012 07:15:10 +0000 (16:15 +0900)]
qtwayland: correct order of parameters in setMouseFocus()

Examined it's callers in qtwayland. And it's supposed that
there is no extenal callers, not in qtwayland.

Change-Id: Id9b42b03e0718f27dc7be3f987bb077092d3a06f
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
11 years agoUpdate Wayland SHA
Jorgen Lind [Fri, 17 Aug 2012 10:04:29 +0000 (12:04 +0200)]
Update Wayland SHA

Change-Id: I3a0adb4b935282b9bb421a87dc8241d6ea8271f0
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
11 years agoDo not pass texture ownership to scenegraph in WaylandSurfaceItem
Laszlo Agocs [Fri, 17 Aug 2012 09:16:44 +0000 (12:16 +0300)]
Do not pass texture ownership to scenegraph in WaylandSurfaceItem

Doing so breaks many simple cases of GL rendering where there is one
attach followed by multiple damages. Letting SG destroy the GL texture
when deleting the old QSGTexture instance is wrong and results in
showing nothing but the very first frame on the screen.

Also, SurfaceBuffer does delete the GL texture upon destruction so the
ownership should stay with it.

This reverts c1ee015bab06e82bccbb723b522c185a8188cab5, not sure why
the change was introduced in the first place.

Change-Id: Ie91574daadeeb7214a55f8e32c10d0a316c0e2c8
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
11 years agoFix qtwayland build with QT_NO_ACCESSIBILITY
Laszlo Agocs [Thu, 16 Aug 2012 12:51:59 +0000 (15:51 +0300)]
Fix qtwayland build with QT_NO_ACCESSIBILITY

Change-Id: Ib5fea95a37d2e4309e68e04320ba6ad097128a66
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
11 years agoWheel event support in WaylandSurfaceItem
Laszlo Agocs [Thu, 16 Aug 2012 12:53:39 +0000 (15:53 +0300)]
Wheel event support in WaylandSurfaceItem

Change-Id: Ib3988b09ccb2eea998108cbb41d4edc25ce123bb
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
11 years agoAdd sendConfigure() for WaylandSurface
Elvis Lee [Tue, 14 Aug 2012 11:20:56 +0000 (20:20 +0900)]
Add sendConfigure() for WaylandSurface

If compositor calls directly setSize() for surface, it changes only the
size of the surface's boundary. If it is needed to change the contents
of the surface synchronously, send_configure() must be called.

Change-Id: I9c607b57c6d31d4ada6621dc57063f36f24b9d95
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
11 years agoAdd support for loading theme plugins.
Pier Luigi Fiorini [Wed, 15 Aug 2012 21:03:38 +0000 (23:03 +0200)]
Add support for loading theme plugins.

Use QGenericUnixTheme to return a list of themes and create new
QPlatformTheme objects.

Change-Id: Iaac113aad3bc088f51695c224433287701113960
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
11 years agoMake the gl integrations use the same build options as the config tests
Jorgen Lind [Tue, 17 Jul 2012 14:32:37 +0000 (16:32 +0200)]
Make the gl integrations use the same build options as the config tests

Change-Id: I3efbd0c87c19c8ff2c382c56d2ca34bbe2e7033d
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
11 years agoCompile fixes
Jorgen Lind [Mon, 13 Aug 2012 06:32:30 +0000 (08:32 +0200)]
Compile fixes

Change-Id: Ie532b5cd87dbcb9546b23c2ce7d013137933fbb8
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
11 years agoCreate platform plugin binary into the local plugins directory.
Pier Luigi Fiorini [Mon, 30 Jul 2012 19:51:43 +0000 (21:51 +0200)]
Create platform plugin binary into the local plugins directory.

Set DESTDIR to $$QT.compositor.plugins/platforms in order to create
the plugin binary into the local plugins directory.  When building
Linux packages you usually are in a chroot environment and can't
write files outside your build directory, this change avoid
permission errors.

Change-Id: I3e518f20308b852f4de6a5355af60fc67681cace
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
11 years agoqwindow-compositor: Fix background image drawing
Laszlo Agocs [Fri, 10 Aug 2012 08:17:37 +0000 (11:17 +0300)]
qwindow-compositor: Fix background image drawing

Make it work correctly with -nofullscreen and prevent it from being
shown upside-down (hard to notice with the default background image
but becomes obvious when replacing background.jpg with something else)

Change-Id: I372ba16818dd452c965febd551da0e35d114b920
Reviewed-by: Elvis Lee <kwangwoong.lee@lge.com>
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
11 years agofollow rename of qt_module_config.prf to qt_module.prf
Oswald Buddenhagen [Tue, 7 Aug 2012 17:13:44 +0000 (19:13 +0200)]
follow rename of qt_module_config.prf to qt_module.prf

Change-Id: Iba6a04a12450ef81635bc76e72d737c67cc5f096
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
11 years agoNeed to NULL check for parent() in parentSurface()
Elvis Lee [Fri, 10 Aug 2012 05:52:30 +0000 (14:52 +0900)]
Need to NULL check for parent() in parentSurface()

Change-Id: I7252a616e8243074cfba8a473869fb91f84a60a6
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
11 years agoSet default background image for QWidgetCompositor
Elvis Lee [Fri, 3 Aug 2012 07:55:08 +0000 (16:55 +0900)]
Set default background image for QWidgetCompositor

This is helpful for seeing cursor.

Change-Id: I1356be8ffb725af303ef4a13503843bbeae0e071
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
11 years agoCorrect background's coordinates
Elvis Lee [Tue, 31 Jul 2012 09:46:14 +0000 (18:46 +0900)]
Correct background's coordinates

Background has been rendered from (0, 0), so it didn't reprensent
boundary of qwindowcompositor correctly when using -nofullscreen.
And make background'size equal to window size on constructing.

Change-Id: I2bcdc350c1e8ebccdb19c69211afecf5d59000ea
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
11 years agoHandle events coming from show() properly in qwindow-compositor
Laszlo Agocs [Wed, 25 Jul 2012 10:55:47 +0000 (13:55 +0300)]
Handle events coming from show() properly in qwindow-compositor

By not having the event handler set up properly before calling
show() we lose the expose events for platforms that send a sync
expose from setVisible (the default QPlatformWindow implementation).
On platforms like xcb this was not visible because the expose came
later, but with kms the initial expose was lost completely.

Change-Id: I16848be35f4d07df8053c66f7d39633a23e45df3
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
11 years agoFix fall out from shell protocol change
Laszlo Agocs [Wed, 25 Jul 2012 10:33:06 +0000 (13:33 +0300)]
Fix fall out from shell protocol change

Compositors were crashing every time a new surface having the
transient parent set was created.

Change-Id: I3c5c0d8ca34c6739f7886281f17d1a8b0aa1c7cb
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
11 years agoFix libxkbcommon config test
Laszlo Agocs [Wed, 25 Jul 2012 10:23:38 +0000 (13:23 +0300)]
Fix libxkbcommon config test

Including the qnamespace.h caused a compilation error and so
xkbcommon support was disabled all the time. Including that
header is not necessary in the first place.

Change-Id: I1ff1155d6b10a6cceaaf9117bb3eb74e88fde49d
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
11 years agoFix brcm_egl test to not link against Qt
Andy Nichols [Wed, 18 Jul 2012 12:00:30 +0000 (14:00 +0200)]
Fix brcm_egl test to not link against Qt

Change-Id: I734d9f6b1120f5d0d5751069c6b6f551172aca50
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
11 years agoRevert "Suppress QWindowSystemInterface inclusion warnings."
Stephen Kelly [Wed, 18 Jul 2012 13:40:28 +0000 (15:40 +0200)]
Revert "Suppress QWindowSystemInterface inclusion warnings."

This reverts commit c269b748bd1f14207cf600ad5cb75a21a5e824a4.

QWindowSystemInterface is not part of QPA anymore.

Change-Id: I372646bda5b4ea7f1ea2bcf775873b1596c07091
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
11 years agoConfig tests for gl integration
Jorgen Lind [Tue, 17 Jul 2012 11:38:16 +0000 (13:38 +0200)]
Config tests for gl integration

Change-Id: Ie7d80e7591d11aa5df87ca5d5de4cd6c03928c83
Reviewed-by: Paul Olav Tvete <paul.tvete@nokia.com>
11 years agouse centralized handling of QT_BUILD_PARTS
Oswald Buddenhagen [Tue, 3 Jul 2012 19:43:31 +0000 (21:43 +0200)]
use centralized handling of QT_BUILD_PARTS

Change-Id: I3cf1aeeec697f39ec5fa21fe84731b12c36d54f1
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
11 years agoUpdate wayland sha
Jorgen Lind [Thu, 5 Jul 2012 09:59:25 +0000 (11:59 +0200)]
Update wayland sha

Change-Id: Icf48c40b4d078b13c4132e52d351a22395d4ca76
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
11 years agoUse the new QPlatformNativeInterface native resource function getter
Jørgen Lind [Tue, 17 Apr 2012 07:07:09 +0000 (09:07 +0200)]
Use the new QPlatformNativeInterface native resource function getter

Change-Id: I5b4e0a48247573e3fc03a87a53c02fa5b5a984d9
Reviewed-by: Paul Olav Tvete <paul.tvete@nokia.com>
11 years agoFix QPA plugin metadata change
Jorgen Lind [Thu, 5 Jul 2012 09:57:31 +0000 (11:57 +0200)]
Fix QPA plugin metadata change

Change-Id: I4f56aba2d42f2f9b469bdcd8cf4312fee93ab911
Reviewed-by: Paul Olav Tvete <paul.tvete@nokia.com>
11 years agoStill support building with pri files
Jorgen Lind [Thu, 5 Jul 2012 09:57:06 +0000 (11:57 +0200)]
Still support building with pri files

Change-Id: I1f537b8dc69359ab250b972b21673b2b4499843e
Reviewed-by: Paul Olav Tvete <paul.tvete@nokia.com>
11 years agoSuppress QWindowSystemInterface inclusion warnings.
Girish Ramakrishnan [Tue, 3 Jul 2012 09:41:25 +0000 (15:11 +0530)]
Suppress QWindowSystemInterface inclusion warnings.

Since QWindowSystemInterface is now part of QPA API. The correct
inclusion is:
    #include <qpa/qwindowsysteminterface.h>
    #include <qpa/qwindowsysteminterface_p.h>

Change-Id: I9f5eafbd67fac3ed144f85c37943e5e1bae5a18e
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
11 years agobuild system cleanups
Oswald Buddenhagen [Thu, 12 Apr 2012 10:44:43 +0000 (12:44 +0200)]
build system cleanups

- load(qt_module) => load(qt_build_config)
- remove:
  - CONFIG+=module (obsolete)
  - code relating to module version headers (automated now)
  - %mastercontent assignment (automated now)
  - QT_BUILD_*_LIB defines (automated now)
  - pointless QPRO_PWD assignments
  - qmake -project boilerplate
  - dead code

Change-Id: Ia515c3cc40170e3b99b0bfd04c10637d49f9b99f
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
11 years agoswitch to new-style configure tests
Oswald Buddenhagen [Thu, 5 Apr 2012 12:47:11 +0000 (14:47 +0200)]
switch to new-style configure tests

Change-Id: I70f4f4e81a042a977748dbb42b069b3706829828
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
11 years agoauto-generate module pris
Oswald Buddenhagen [Thu, 12 Apr 2012 09:26:46 +0000 (11:26 +0200)]
auto-generate module pris

Change-Id: I4f5c243d01f1b00f7cced6487dd4a5fa4fb072e4
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
11 years agoSet cloexec in shm buffer
Laszlo Agocs [Fri, 22 Jun 2012 15:50:51 +0000 (17:50 +0200)]
Set cloexec in shm buffer

Change-Id: If3d1920fe253d3de43aeef77afeb92f7624c6ba0
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
11 years agoDestroy shell surfaces on client side
Laszlo Agocs [Fri, 22 Jun 2012 12:10:54 +0000 (14:10 +0200)]
Destroy shell surfaces on client side

Otherwise we get the usual delete_id for live object warnings with Weston.

Change-Id: I4c24cec6522ea9f501495d4f5e29f9725976f202
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
11 years agoProperly reset keyboard focus in qwindow-compositor when hiding
Laszlo Agocs [Mon, 11 Jun 2012 13:46:03 +0000 (16:46 +0300)]
Properly reset keyboard focus in qwindow-compositor when hiding

Surfaces with null buffer attached should be handled similarly to
destroyed surfaces. qtwayland makes sure the focus surface is reset,
if needed, but it's up to qwindow-compositor to pick a new one.

Change-Id: I68ec7fe3fe3e2795ae52ef60d9343cb527205c68
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
11 years agoFollow protocol changes in pointer attach
Laszlo Agocs [Mon, 18 Jun 2012 13:53:07 +0000 (16:53 +0300)]
Follow protocol changes in pointer attach

Change-Id: I68b480b7feea814f79997c6a39e4567c3a990f47
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
11 years agoFix broken handling of inactive transient surfaces
Laszlo Agocs [Mon, 18 Jun 2012 13:57:31 +0000 (16:57 +0300)]
Fix broken handling of inactive transient surfaces

Makes tooltips and tooltip-like components like Create's locator show
up properly. These should never get keyboard focus even though they
are regular surfaces like any other.

Change-Id: I0ade61845d9785cad19040683362a5532a04e6f6
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
11 years agoFix global coordinate translation in clients
Laszlo Agocs [Mon, 18 Jun 2012 13:56:52 +0000 (16:56 +0300)]
Fix global coordinate translation in clients

Widget apps had certain components, like context menus, popping up at
somewhat off positions. This was caused by a local-global mismatch.

Change-Id: Ia87be2419b4686c54852eb87640079ab262146cc
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
11 years agoFix output geometry in qwindow-compositor
Laszlo Agocs [Mon, 18 Jun 2012 13:54:11 +0000 (16:54 +0300)]
Fix output geometry in qwindow-compositor

Change-Id: I99989faca2c5e13df85accdcdacd5cc616b43ba1
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
11 years agoFix build when QtQuick is not available
Laszlo Agocs [Mon, 18 Jun 2012 13:53:49 +0000 (16:53 +0300)]
Fix build when QtQuick is not available

Change-Id: I112e8fd8bf9181b4cb72bb9f99be958bd7499e3d
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
11 years agoMap function keys properly
Laszlo Agocs [Mon, 18 Jun 2012 13:57:57 +0000 (16:57 +0300)]
Map function keys properly

Change-Id: I3a13e0f05a3504e4d7b7f13c29ace139f88041e5
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
11 years agoIntroduce standard pkg-config usage
Donald Carr [Wed, 6 Jun 2012 20:10:11 +0000 (20:10 +0000)]
Introduce standard pkg-config usage

Use our own qualified pkg-config mkspec feature rather than directly
executing the system binary

Change-Id: I4b162cd8d2d9a8bd5d0b3adb9ca935df9ff96a69
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
11 years agoReset keyboard focus when a surface is destroyed
Laszlo Agocs [Mon, 11 Jun 2012 08:36:43 +0000 (11:36 +0300)]
Reset keyboard focus when a surface is destroyed

Only pointer focus was reset, resulting in undefined behavior when
acessing keyboardFocus() after all surfaces had gone away.

Change-Id: I8c9f71e2eadbf69de1dc7856f4a05dd309ab95eb
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
11 years agoDecouple application activation from onscreen_visibility.
Gunnar Sletta [Mon, 11 Jun 2012 10:09:04 +0000 (12:09 +0200)]
Decouple application activation from onscreen_visibility.

The application will be made active when it has focus. This
is already handled in the qwaylandinputdevice.cpp's handling
of input which posts window activation to Qt and internally
Qt will send application activation when a window is in
fact active.

Change-Id: I5adb4c76830096bb362489b7de18ed188fbed05d
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
11 years agoRebase Add-thread-affinity-to-wayland-clients.patch
Andy Nichols [Wed, 6 Jun 2012 11:04:30 +0000 (13:04 +0200)]
Rebase Add-thread-affinity-to-wayland-clients.patch

The patch now applies cleanly to the tested wayland sha.

Change-Id: I7e24fcd34a5a53816d6a75611cd99a0ce9179e20
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
11 years agoFix "make install" to not build examples and tests
Andy Nichols [Wed, 6 Jun 2012 13:51:27 +0000 (15:51 +0200)]
Fix "make install" to not build examples and tests

Before this commit, make install would always end up building
the examples and tests, even if qtbase was configured not to.

Change-Id: I898e1125a343a8e2749a055f4bd886256026de9d
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
11 years agoDon't build qwidget compositor when qt is configured with -no-widgets
Andy Nichols [Wed, 6 Jun 2012 13:30:31 +0000 (15:30 +0200)]
Don't build qwidget compositor when qt is configured with -no-widgets

Change-Id: Ie7952d83527015996fe678ccd68d2984b0119858
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
11 years agoImplemented orientationUpdateMask support in WaylandSurface.
Samuel Rødal [Wed, 6 Jun 2012 10:22:49 +0000 (12:22 +0200)]
Implemented orientationUpdateMask support in WaylandSurface.

Used to find out whether the client wants orientation updates.

Change-Id: Ibefc98df7b346cbfe13cb021c932dab3d6c5d758
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
11 years agoA few fixes to prevent compositor crashes
Andy Nichols [Tue, 5 Jun 2012 13:41:59 +0000 (15:41 +0200)]
A few fixes to prevent compositor crashes

If a client application exits abruptly while in direct
rendering mode, the surface buffer could reference a null buffer.
We now check for this before attempting to use such a surface
buffer.  It is also possible for WaylandSurfaceNode::preprocess to
be called after WaylandSurfaceItem has called surfaceDestroyed, so
now we check for a valid surface in preprocess as well.

Change-Id: Ibca71349b7a24687944f8b6cd505941b580e0c2a
Reviewed-by: Paul Olav Tvete <paul.tvete@nokia.com>
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
11 years agoAvoid burning cpu in qwindow-compositor with glx and nvidia
Laszlo Agocs [Tue, 5 Jun 2012 09:14:22 +0000 (12:14 +0300)]
Avoid burning cpu in qwindow-compositor with glx and nvidia

Change-Id: I2da069c7fd12b26b2811b59ec66418865bcbe962
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
11 years agoBind texture in WaylandSurfaceItem::updateTexture
Andy Nichols [Mon, 4 Jun 2012 11:10:51 +0000 (13:10 +0200)]
Bind texture in WaylandSurfaceItem::updateTexture

This avoids a race condition where we delete the
resource behind the texture before we get a chance
to upload it.

Change-Id: I19d126ecf3fcb5141c6630cd8e783647ea6a779c
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
11 years agoBump sha
Laszlo Agocs [Sat, 2 Jun 2012 21:16:17 +0000 (00:16 +0300)]
Bump sha

keyboard_modifiers is not yet sent from server side (in qt-compositor)
on keyboard focus, this needs to be added later. Unfortunately the event
is somewhat libxkbcommon-specific...

Also move/removed some unused variables.

Change-Id: Id971bdc3a0e217740593d23145fc4ebb27d99a06
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
11 years agoFix no-xkb build
Laszlo Agocs [Fri, 1 Jun 2012 07:01:12 +0000 (10:01 +0300)]
Fix no-xkb build

Change-Id: I02b49ae845921d6b0eafc367849a99a0a7702ee9
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
11 years agoUse QPointer instead of QWeakPointer for tracking QObjects.
Stephen Kelly [Wed, 30 May 2012 16:50:04 +0000 (18:50 +0200)]
Use QPointer instead of QWeakPointer for tracking QObjects.

Change-Id: I842906ffcc37e6649d947cef3a0d9ea942b14d05
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
11 years agoadded two missing #include <unistd.h> (for int close(int);)
Thomas Senyk [Tue, 29 May 2012 12:15:20 +0000 (14:15 +0200)]
added two missing #include <unistd.h> (for int close(int);)

Change-Id: I9f32108a9a5d758c8dd23be5d72900e7ea7c271b
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
11 years agoMake sendOnScreenVisibility invokable
Gunnar Sletta [Thu, 24 May 2012 15:44:51 +0000 (17:44 +0200)]
Make sendOnScreenVisibility invokable

Change-Id: I78b3576c60b02fc62df1201bc797b08dcd536b50
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
11 years agoFixed client side issues due to threading bugs.
Samuel Rødal [Thu, 24 May 2012 08:44:51 +0000 (10:44 +0200)]
Fixed client side issues due to threading bugs.

Our threading support depends on the hardware integration and on support
in libwayland.

Change-Id: Ic69bc4616e279c1986576d8c034db52402cb9c41
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
Reviewed-by: Paul Olav Tvete <paul.tvete@nokia.com>
11 years agoFixed qml-compositor warning and sizing when running as windowed.
Samuel Rødal [Thu, 24 May 2012 11:25:07 +0000 (13:25 +0200)]
Fixed qml-compositor warning and sizing when running as windowed.

Change-Id: Ic5b58cb1761e74408bd44a048e487617d59ee72d
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
11 years agoReset the keyboard and pointer focus when attaching a null buffer
Laszlo Agocs [Tue, 22 May 2012 17:15:02 +0000 (20:15 +0300)]
Reset the keyboard and pointer focus when attaching a null buffer

Improve QMenu/QMenuBar usability with keyboard: We really do not want
the keyboard focus to remain on hidden windows. For example when
opening a menu and pressing escape the focus must not be left on the
(existing, but hidden) menu widget's window.

This isn't perfect (ideally the compositor implementations should be
able to control this somehow by deciding to which window return the
focus to when the focused window goes away) but is better than nothing
and is identical to what Weston does.

Change-Id: Iad963182b74903cc3843460641611467db3c02ef
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
11 years agoAdded config.test for brcm_egl.
Samuel Rødal [Sat, 19 May 2012 12:08:25 +0000 (14:08 +0200)]
Added config.test for brcm_egl.

Change-Id: Ia103645ba0823dc94b42578de1f1e39e7dd84956
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
11 years agoUse a lookup table instead of an incomplete switch when mapping keys
Laszlo Agocs [Sat, 19 May 2012 08:46:01 +0000 (11:46 +0300)]
Use a lookup table instead of an incomplete switch when mapping keys

Change-Id: Ie9b8325a2235ec1c2fe988f0e81efd241b1ef21b
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
11 years agoAdded maximize and window closing behavior to qml-compositor.
Samuel Rødal [Fri, 18 May 2012 20:17:50 +0000 (22:17 +0200)]
Added maximize and window closing behavior to qml-compositor.

Change-Id: I13ebfa400d8ce669bf45ee533a2aa9a7190421d5
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
11 years agoPosition windows with transient parents properly
Laszlo Agocs [Sat, 19 May 2012 10:24:10 +0000 (13:24 +0300)]
Position windows with transient parents properly

Both the transient position calculation and the global mouse
position had to be fixed.

Combo box contents, menus, etc. will now all appear at the
correct position. With qwindow-compositor they will
keep the proper position even when the parent is moved
via the decoration. Not sure how this could be achieved
with weston as there is no notification when the window
is dragged with Super+Mouse. Nevertheless the initial
position will be correct.

Change-Id: I66eca9faa930af71b9b540018d5057af7f5f22e5
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
11 years agoqwindow-compositor: Avoid stuck alt when running non-fullscreen
Laszlo Agocs [Sat, 19 May 2012 17:31:10 +0000 (20:31 +0300)]
qwindow-compositor: Avoid stuck alt when running non-fullscreen

Change-Id: I9d2129e2e746704f1fc0e8f6243fe3b8b7224456
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
11 years agoFix clipboard crash in clients with weston
Laszlo Agocs [Sat, 19 May 2012 16:45:53 +0000 (19:45 +0300)]
Fix clipboard crash in clients with weston

The offer passed to selection() can be null. This case was not handled
before because it never happens with qt-compositor. Copy/paste is still
not ok with weston but at least the apps won't crash.

Change-Id: I91d529e9d8b179724637d05bb9b95ec5843bda2b
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
11 years agoFix stuck modifier keys
Laszlo Agocs [Sat, 19 May 2012 16:31:36 +0000 (19:31 +0300)]
Fix stuck modifier keys

Storing the modifier state as a member is not needed.
Updating it in the keyboard_enter does not make sense as the
xkb state can only change in the key event handler.
The logic for updating the modifiers was somewhat broken.

Change-Id: I7d9378af6f3775a6954a9747cab0e93a549fa62a
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
11 years agoMake axis events compatible with Weston
Laszlo Agocs [Sat, 19 May 2012 09:26:23 +0000 (12:26 +0300)]
Make axis events compatible with Weston

From now on mouse wheel events will work both with qt-compositor and
Weston.

Change-Id: I54876cd45f3530ea9b4b7962ca52c0974e1cb2d5
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
11 years agoRegister QTouchDevice only when the seat is touch-capable
Laszlo Agocs [Sat, 19 May 2012 08:01:02 +0000 (11:01 +0300)]
Register QTouchDevice only when the seat is touch-capable

Change-Id: Ibddfaa2f07b9cd2eae2e133b01d4e5669ced2af8
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
11 years agoMigrate from wl_input_device to wl_seat
Laszlo Agocs [Thu, 17 May 2012 10:03:57 +0000 (13:03 +0300)]
Migrate from wl_input_device to wl_seat

Change-Id: I0d218c32478c2acce4d7012bdb26b0cde50ee633
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
11 years agoImplemented graceful quitting of clients.
Samuel Rødal [Fri, 18 May 2012 21:32:36 +0000 (23:32 +0200)]
Implemented graceful quitting of clients.

Send a quit message to let the client shut down cleanly.

Change-Id: I5f99c9b92341fdb5f1b171f6fe36f26bf8a47026
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
11 years agoBRCM EGL integration to handle eglCreateGlobalImageBRCM.
Samuel Rødal [Tue, 15 May 2012 13:05:47 +0000 (15:05 +0200)]
BRCM EGL integration to handle eglCreateGlobalImageBRCM.

For hardware accelerated multiprocess compositing on the raspberry pi.

Change-Id: Ieb46aa7306587f89fea87098227a520f18f959a7
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Reviewed-by: Paul Olav Tvete <paul.tvete@nokia.com>
11 years agoFixed context sharing in wayland_egl backend.
Samuel Rødal [Fri, 18 May 2012 07:36:15 +0000 (09:36 +0200)]
Fixed context sharing in wayland_egl backend.

Properly implement isSharing() and isValid().

Change-Id: I7ec9bd8a1e6d4af87a418568f1d5d18a9153eafc
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
11 years agoAdd a custom WaylandSurfaceNode with its own materials
Andy Nichols [Fri, 11 May 2012 12:39:36 +0000 (14:39 +0200)]
Add a custom WaylandSurfaceNode with its own materials

With the previous WaylandSurfaceNode based on QSGSimpleTextureNode,
QSGTexture's created from SHM buffers would always have and use their
alpha channels, despite the useTextureAlpha flag being set to false. Now
when the useTextureAlpha flag is set to false, we use a material that
ignores the textures alpha channel.

Change-Id: I9cc33939f37856495f8885357f49de5ffdd81d1f
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
11 years agoFix case where we get a new damage event too soon
Andy Nichols [Wed, 2 May 2012 13:30:06 +0000 (15:30 +0200)]
Fix case where we get a new damage event too soon

As in when we get a damage event between when updatePaintNode calls
updateTexture, and WaylandSurfaceNode::preprocess is called.

Change-Id: Ib953ea6ff6c5e1c0239b734940dcf6fc39d3bb27
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
11 years agoGive texture ownership to scenegraph in WaylandSurfaceItem
Andy Nichols [Wed, 25 Apr 2012 14:48:04 +0000 (16:48 +0200)]
Give texture ownership to scenegraph in WaylandSurfaceItem

Change-Id: Ia40d73e11d54b96e27e65224d8fab6d17c5997b9
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
11 years agoStore the input device in the touch extension
Laszlo Agocs [Thu, 17 May 2012 09:25:13 +0000 (12:25 +0300)]
Store the input device in the touch extension

Implicit sharing is nice but not doing anything is better

Change-Id: I2ae753e749c1b7d7e1dce78dd59a084ce8e4e836
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
11 years agoFixed inverted textures in qml-compositor.
Samuel Rødal [Wed, 16 May 2012 19:44:47 +0000 (21:44 +0200)]
Fixed inverted textures in qml-compositor.

qml-compositor now shows applications the same way as
qwindow-compositor.

Change-Id: If5e53863969830cbd22916e50447b4f05d0a245a
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
11 years agoProperly bind to the yInverted property in qml-compositor.
Samuel Rødal [Wed, 16 May 2012 18:53:54 +0000 (20:53 +0200)]
Properly bind to the yInverted property in qml-compositor.

Change-Id: I1260ce2e0f711dc1140b7030e4941159d9eae03c
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
11 years agoFixed qml-compositor and made it properly installable without a qrc.
Samuel Rødal [Wed, 16 May 2012 16:45:34 +0000 (18:45 +0200)]
Fixed qml-compositor and made it properly installable without a qrc.

Change-Id: I40936865453392dc90b03f67220f70480c0eae56
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
11 years agoBuild without hw integration.
Samuel Rødal [Mon, 14 May 2012 18:51:04 +0000 (20:51 +0200)]
Build without hw integration.

Change-Id: I011d0e9af8082570b29e9836df40d719bb5e96a6
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
11 years agoRemove unnecessary display_sync and use the safer pattern in xcomposite
Laszlo Agocs [Fri, 11 May 2012 11:18:15 +0000 (14:18 +0300)]
Remove unnecessary display_sync and use the safer pattern in xcomposite

and QWaylandDataOffer. No more annoying "server sent delete_id for
live object" messages.

Change-Id: Ibc3736cd752bf52823a0ae0ea536c9faf5663987
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
11 years agoCall set_toplevel properly to fix apps on weston
Laszlo Agocs [Sun, 13 May 2012 15:03:47 +0000 (18:03 +0300)]
Call set_toplevel properly to fix apps on weston

Due to a misplaced else branch set_toplevel was not called at
all. This resulted in not setting up the surface properly in Weston
(no output was assigned), leading to not sending any frame callbacks
to the apps which then got to wait forever in waitForFrameSync().

Change-Id: I37d7b53a8cca59be71fe358543a488382cb0d4dd
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
11 years agoDisable some debug prints in clipboard
Laszlo Agocs [Fri, 11 May 2012 12:00:56 +0000 (15:00 +0300)]
Disable some debug prints in clipboard

It is not desirable to have these printed in each and every app that
uses the clipboard, especially now that the selection handling is
relatively stable.

Change-Id: Idf6bab915fd9a4096ca77743d597b106267b99be
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
11 years agoYet another xkbcommon API change
Laszlo Agocs [Fri, 11 May 2012 17:16:39 +0000 (20:16 +0300)]
Yet another xkbcommon API change

Change-Id: I7ca4bf170cd6adb5b371c3c040ed35387876d0e8
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
11 years agoDo not assert in pointer and keyboard enter
Laszlo Agocs [Fri, 11 May 2012 05:56:06 +0000 (08:56 +0300)]
Do not assert in pointer and keyboard enter

Handle the case of null surface gracefully. It can be null if the
surface is destroyed on client side and the object is in zombie state
still.

Change-Id: Ife67180e6405a521562a43c24d377559d7848b6f
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
11 years agoMake sure the pointer focus is really reset when destroying
Laszlo Agocs [Thu, 10 May 2012 12:19:04 +0000 (15:19 +0300)]
Make sure the pointer focus is really reset when destroying

Using the grab interface introduced an issue which crashes the
compositor quite often when running widget apps.

Change-Id: I74b64fb7b18ec510773b3b533a3c778be7173db4
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
11 years agoAdd wheel event support
Laszlo Agocs [Thu, 10 May 2012 11:23:54 +0000 (14:23 +0300)]
Add wheel event support

Change-Id: Id827485138758ccb4c0db420559b2b9af5c45bbc
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
11 years agoDo not crash all the time with shm apps
Laszlo Agocs [Thu, 10 May 2012 11:00:08 +0000 (14:00 +0300)]
Do not crash all the time with shm apps

Change-Id: Iea42adf18cbd724f1f9dc19ec1d1f6baeff07d97
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
11 years agoInform the platform plugin when direct rendering is active
Paul Olav Tvete [Thu, 10 May 2012 15:50:12 +0000 (17:50 +0200)]
Inform the platform plugin when direct rendering is active

Change-Id: I58f7e65dc755c99f5bb83dae2c68254727653a1c
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
11 years agoImplemented refresh rate support.
Samuel Rødal [Fri, 4 May 2012 14:31:52 +0000 (16:31 +0200)]
Implemented refresh rate support.

Implements QWaylandScreen::refreshRate() based on the wl_output mode
information we get from the compositor.

In the compositor, adds API to override the refresh rate, with the
default set to whatever QScreen reports on the compositor-side.

Change-Id: I5f5175f2498940875c6ec68d29d25cf5993a1e65
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
11 years agoStart using the new wl_fixed_t type properly
Laszlo Agocs [Wed, 9 May 2012 08:25:44 +0000 (11:25 +0300)]
Start using the new wl_fixed_t type properly

The mouse and touch coordinates cannot just be treated as integers
anymore, they need to be converted from/to double using the helper
functions. Some necessary QPoint -> QPointF changes have also been
made.

For the Qt-specific touch extension we will not switch to wl_fixed_t
though. This is because the precision is unfortunately quite small
(factor of 256 vs. 10000).

Change-Id: I23deaaffe478a39495b12d336985bc62e38a6af4
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
11 years agoRemove notes about enabling the touch extension in qwindow-compositor
Laszlo Agocs [Wed, 9 May 2012 08:28:01 +0000 (11:28 +0300)]
Remove notes about enabling the touch extension in qwindow-compositor

It is all automatic nowadays.

Change-Id: I7b8f0c1716a910624ac31bd31832fb50418f48fb
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
11 years agoAdd known-good libxkbcommon sha
Laszlo Agocs [Tue, 8 May 2012 12:27:24 +0000 (15:27 +0300)]
Add known-good libxkbcommon sha

Change-Id: Ia576c0fce44f60a8f0ccd217e456148647776ec8
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
11 years agoCompile with new xkbcommon API
Laszlo Agocs [Tue, 8 May 2012 11:59:22 +0000 (14:59 +0300)]
Compile with new xkbcommon API

Change-Id: Ie3f45a1e624cae3abb71d85c7ea8107b0f6b710c
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
11 years agoUpdate to wayland head
Laszlo Agocs [Tue, 8 May 2012 09:41:30 +0000 (12:41 +0300)]
Update to wayland head

Change-Id: Ie012861bc40e3bc448d85c9d8c27f798434020ed
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
11 years agoDo not lose window flags set before creating the platform window
Laszlo Agocs [Tue, 8 May 2012 13:50:44 +0000 (16:50 +0300)]
Do not lose window flags set before creating the platform window

Change-Id: I2dcce0143f9b10c07a62217a6df110fa12e280b8
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
11 years agoAdapt to _qpa file rename in qtbase.
Girish Ramakrishnan [Tue, 8 May 2012 07:18:48 +0000 (00:18 -0700)]
Adapt to _qpa file rename in qtbase.

qtbase change 36547f4eff44361f7a6acd0cff107c0e47561f93
renamed qpa headers.

Change-Id: I39b0f636bd69cfe1b4e0f4e1d2419148d83433ca
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
11 years agoFixed warnings in qwaylanddecoration.*
Samuel Rødal [Tue, 8 May 2012 07:53:17 +0000 (09:53 +0200)]
Fixed warnings in qwaylanddecoration.*

Change-Id: I05ca556b3bb0452f3cbf9d678092e0432b2d24b5
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
11 years agoQWindow::visible() -> QWindow::isVisible() compile fix
Samuel Rødal [Sun, 6 May 2012 19:37:06 +0000 (21:37 +0200)]
QWindow::visible() -> QWindow::isVisible() compile fix

Change-Id: I3157b7444f260e5413683496238467fca8e7a015
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>