profile/ivi/qtwayland.git
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 years agoChange uses of {to,from}Ascii to {to,from}Latin1
Thiago Macieira [Thu, 3 May 2012 15:12:58 +0000 (17:12 +0200)]
Change uses of {to,from}Ascii to {to,from}Latin1

This operation should be a no-op anyway, since at this point in time,
the fromAscii and toAscii functions simply call their fromLatin1 and
toLatin1 counterparts.

Task-number: QTBUG-21872
Change-Id: I70205b0d86451d31e81a4be4a521e454e1eff83f
Reviewed-by: Paul Olav Tvete <paul.tvete@nokia.com>
12 years agoMake SurfaceBuffer::handle return something sensible
Jørgen Lind [Tue, 24 Apr 2012 12:25:36 +0000 (14:25 +0200)]
Make SurfaceBuffer::handle return something sensible

take 2

Change-Id: I4acd03e8e1cb5d77c877ce49d5b9256c94aeb310
Reviewed-by: Andy Nichols <andy.nichols@nokia.com>
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
12 years agoAllow selection to be set when having no surfaces at all
Laszlo Agocs [Thu, 3 May 2012 09:32:31 +0000 (12:32 +0300)]
Allow selection to be set when having no surfaces at all

Having no surface will mean no keyboard focus, yet apps are free to
use QClipboard at any time.

Change-Id: I7383bf82480b8036940e1f01fa1b429f8a500ab9
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
12 years agoClean up initialization in touch extension
Laszlo Agocs [Mon, 30 Apr 2012 09:37:10 +0000 (12:37 +0300)]
Clean up initialization in touch extension

Change-Id: I6e51bf6a243c1e64823a467d8acef0670ca98511
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
12 years agoFixed crashes and missing textures in WaylandSurfaceItem.
Samuel Rødal [Mon, 30 Apr 2012 12:45:19 +0000 (14:45 +0200)]
Fixed crashes and missing textures in WaylandSurfaceItem.

There might not always be a node created, so move the ownership of the
QSGTexture to the texture provider, which we now unconditionally create.

Change-Id: Ie9d6e846961ee468323f8acf731704b4ef313396
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
12 years agoFix potential race condition
Paul Olav Tvete [Thu, 26 Apr 2012 11:31:22 +0000 (13:31 +0200)]
Fix potential race condition

The node lives in the render thread, while the item lives in the
GUI thread. They are only synchronized during updatePaintNode().
This patch fixes two race conditons: 1. the texture might be deleted
while the render thread is using it; 2. the item might be deleted before
WaylandSurfaceNode::preprocess() accesses it.

Change-Id: I19bcba3af8bca68c8b9bf42ae8c15537ce7cebcf
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
12 years agoPass device capabilities to client in the touch extension
Laszlo Agocs [Thu, 26 Apr 2012 08:11:50 +0000 (11:11 +0300)]
Pass device capabilities to client in the touch extension

Assuming that all capabilities are available is not a good idea.

Change-Id: I06c0f6c14583e7a25d4a07058976ea347e2dc8fa
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
12 years agoGive "something" for the handle of a shm sufracebuffer
Jørgen Lind [Tue, 24 Apr 2012 11:37:52 +0000 (13:37 +0200)]
Give "something" for the handle of a shm sufracebuffer

Change-Id: I91647bd515a1497ae999b3f493d60b3250727b67
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
12 years agoFix warnings in compositor and 1 wl_resource_send event
Jørgen Lind [Mon, 23 Apr 2012 10:21:29 +0000 (12:21 +0200)]
Fix warnings in compositor and 1 wl_resource_send event

Change-Id: I3eb46559c6b19abcc625cd09c8d2921956fc8ec9
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
12 years agoFix compositor crash when closing windows with subsurfaces
Jørgen Lind [Thu, 19 Apr 2012 20:51:28 +0000 (22:51 +0200)]
Fix compositor crash when closing windows with subsurfaces

Change-Id: I91b93cbd1ffcce6f60e44600a02f14f59813fccc
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
12 years agoDon't crash if no extended window extension is present
Thiago Macieira [Wed, 18 Apr 2012 13:17:59 +0000 (15:17 +0200)]
Don't crash if no extended window extension is present

The extension is not standardised in Wayland, so it's very likely it
is not present (for example, when running applications under Weston).

Change-Id: I998af153e9abad6b165fb9d21a0014f64993d71a
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
12 years agoDo not delete extended output instances twice
Laszlo Agocs [Sun, 22 Apr 2012 08:31:47 +0000 (11:31 +0300)]
Do not delete extended output instances twice

No need to destroy in Output dtor, delete is already called in
ExtendedOutput::destroy_resource. This prevents crashing when exiting
the compositor.

Change-Id: I2558ee012be56da055dbefbb474c0124681321ba
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
12 years agoSend expose from qwindow-compositor
Laszlo Agocs [Fri, 20 Apr 2012 10:53:47 +0000 (13:53 +0300)]
Send expose from qwindow-compositor

Otherwise apps that (correctly) only start rendering on QEvent::Expose
will not render at all due to not receiving the event.

Turns out calling sendOnScreenVisibilityChange() is not that simple:
It does nothing until the extendedsurface instance is created and that
happens only after a roundtrip to the client. Therefore the compositor
listens to a new signal in WaylandSurface that indicates when the
extendedsurface-related functions become functional.

Change-Id: I9fdac4a98e2ad5d8c913c2a7aeef5b313f27c50a
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
12 years agoDo not render in qwindow-compositor before expose
Laszlo Agocs [Fri, 20 Apr 2012 10:14:11 +0000 (13:14 +0300)]
Do not render in qwindow-compositor before expose

Change-Id: I0016a9969004252be3a5978e0ab4155b4d883682
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
12 years agoSync up with the latest wayland developments.
Hannu Lyytinen [Wed, 18 Apr 2012 20:14:47 +0000 (23:14 +0300)]
Sync up with the latest wayland developments.

This commit makes the qtwayland module compatible with
wayland sha1 677c5180e67be18b7a0867fafb7f205b57a6e9ff.

Change-Id: I5af0510034b7e4a038313b80f1f6e0b18fa48eb3
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
12 years agoFix compilation against latest qtbase.
Samuel Rødal [Thu, 19 Apr 2012 07:02:42 +0000 (09:02 +0200)]
Fix compilation against latest qtbase.

Change-Id: Ifebba587327a984e688825fda2ca2414ce19ba21
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
12 years agoDo not send expose event for already exposed windows
Gunnar Sletta [Mon, 16 Apr 2012 15:08:13 +0000 (17:08 +0200)]
Do not send expose event for already exposed windows

Change-Id: Ic725856f88db475d808f0bfa661cf3f7a4dccc10
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
12 years agoImplement nativeBufferLocking
Jørgen Lind [Mon, 16 Apr 2012 17:30:04 +0000 (19:30 +0200)]
Implement nativeBufferLocking

This is needed to be able to post directly to the framebuffer.

Change-Id: I6d19a6c8d9736a513a22dfa71358e6c4c7968e15
Reviewed-by: Paul Olav Tvete <paul.tvete@nokia.com>
12 years agoDecorations: Make it possible to move windows with transient parent
Laszlo Agocs [Fri, 13 Apr 2012 10:58:05 +0000 (13:58 +0300)]
Decorations: Make it possible to move windows with transient parent

This was not working previously due to not updating the offset.

Change-Id: I0a8db17a1eabeb6139129386675b271f9e1b8f22
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
12 years agoDo not assert when closing dialogs
Laszlo Agocs [Fri, 13 Apr 2012 09:22:14 +0000 (12:22 +0300)]
Do not assert when closing dialogs

The leave event may arrive after the window is gone, resulting in a
null surface. The callback should do nothing in this case.

Change-Id: I36ec4cb1615f518de57b7de98206cdb8986405e4
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
12 years agoDo not crash when closing pop-ups in widget apps.
Laszlo Agocs [Fri, 13 Apr 2012 08:57:22 +0000 (11:57 +0300)]
Do not crash when closing pop-ups in widget apps.

The shm frame callback has to be destroyed otherwise the callback will
occur after the dtor. Also, start using the previously unused 'window'
variable in the callback.

Change-Id: Iace09ae981344dcbe4112f49fcd19491963e4668
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
12 years agoImplement nativeResourceForIntegration() to get the display.
Samuel Rødal [Fri, 13 Apr 2012 07:42:55 +0000 (09:42 +0200)]
Implement nativeResourceForIntegration() to get the display.

Make it possible to get the display without a surface handle.

Change-Id: I9d0a2bcb4515b927f440902ad14e59f3506b84de
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
12 years agoAdd missing return statement
Jørgen Lind [Mon, 16 Apr 2012 17:28:06 +0000 (19:28 +0200)]
Add missing return statement

Change-Id: Ib95dc8ae0d9bbc2e9e06db95dd63ec8ad2d173e0
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
12 years agoMake qml compositor resize to window
Jørgen Lind [Mon, 16 Apr 2012 06:04:29 +0000 (08:04 +0200)]
Make qml compositor resize to window

Change-Id: I014250f968003fa8f9e14e962edcca581ed2e5d8
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
12 years agoUpdated SHA-1 in wayland_sha1.txt to one against which qtwayland builds.
Samuel Rødal [Wed, 11 Apr 2012 15:15:55 +0000 (17:15 +0200)]
Updated SHA-1 in wayland_sha1.txt to one against which qtwayland builds.

Prevents following error:
wayland-util.h:152: error: ‘size_t’ does not name a type

Some <string.h> includes are also not necessary any more.

Change-Id: I0846948ba32d32521b0749b616eea3cad0ed3383
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
12 years agoFixed xcomposite_share compile errors.
Samuel Rødal [Wed, 11 Apr 2012 15:31:40 +0000 (17:31 +0200)]
Fixed xcomposite_share compile errors.

Change-Id: I1fac804abcb09bd760246c95a961a2d5b91de03a
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
12 years agoClient side decoration
Jørgen Lind [Mon, 13 Feb 2012 09:23:41 +0000 (10:23 +0100)]
Client side decoration

Something is alot better than nothing :)
This gives window decorations for QWidgets and other applications that
use QBackingStore

Change-Id: Ic748ee1df88236b20416029e20e26532f7fb4476
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
12 years agoAdd public api to retrieve struct wl_display *
Jørgen Lind [Tue, 10 Apr 2012 13:28:54 +0000 (15:28 +0200)]
Add public api to retrieve struct wl_display *

Change-Id: I3e1b77419152cf1fbec64e517cf817f0d4a39b66
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
12 years agoMake windowcompositor actually eat events in the event filter
Jørgen Lind [Mon, 9 Apr 2012 21:44:28 +0000 (23:44 +0200)]
Make windowcompositor actually eat events in the event filter

Change-Id: I946aa90eb52751471470185a39f044ac23d53100
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>