profile/ivi/qtwayland.git
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>
12 years agoFix QWindow Compositors input handling
Jørgen Lind [Sat, 4 Feb 2012 11:02:42 +0000 (12:02 +0100)]
Fix QWindow Compositors input handling

Change-Id: I500c0a8e824abcf9a1e7662e1bd030ecc1b85170
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
12 years agoImplement so that Compositors can use the wl_pointer_grab interface
Jørgen Lind [Sat, 4 Feb 2012 11:01:03 +0000 (12:01 +0100)]
Implement so that Compositors can use the wl_pointer_grab interface

Change-Id: Idaed835ef25a820cba388831c9ecdcf0f5de20f2
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
12 years agoDon't use poor mans inheritance for waylandobject
Jørgen Lind [Mon, 9 Apr 2012 21:38:44 +0000 (23:38 +0200)]
Don't use poor mans inheritance for waylandobject

We'r programming in C++ afterall :)
This will let us use virtual functions in subclasses and multiple
inheritance.

Change-Id: I69647fa3197cbb33fb70e771470d7af07f8011f5
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
12 years agoUpdate wayland_sha1 and implement buffer_pool interface
Jørgen Lind [Fri, 6 Apr 2012 11:35:43 +0000 (13:35 +0200)]
Update wayland_sha1 and implement buffer_pool interface

Change-Id: I0628a7655a6deb061a5d0b6c6304c89d8655cf11
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
12 years agoEmit clipboard changed signal
Laszlo Agocs [Tue, 3 Apr 2012 09:06:26 +0000 (12:06 +0300)]
Emit clipboard changed signal

The signal was never emitted. The setNewClipboardMimeData() function
was not in use at all. The function is now removed and the signals are
emitted properly in all cases.

Change-Id: Iec42acab8e7d90084c836fa27a79982482ad8078
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
12 years agoFixed mockshell error in client auto test
Andy Nichols [Fri, 30 Mar 2012 13:17:25 +0000 (15:17 +0200)]
Fixed mockshell error in client auto test

Change-Id: Ibcb6bd807d281fbc14c35c98f4dabd4d7f82077b
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
12 years agoImplemented QDesktopServices in wayland plugin.
Samuel Rødal [Thu, 29 Mar 2012 07:26:05 +0000 (09:26 +0200)]
Implemented QDesktopServices in wayland plugin.

Change-Id: Idc9158b4e8158fa9e95dbb11701fc9032bb64b68
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
12 years agoIntroduced WaylandClient API to keep track of clients.
Samuel Rødal [Thu, 29 Mar 2012 11:56:38 +0000 (13:56 +0200)]
Introduced WaylandClient API to keep track of clients.

Makes it easier to keep track of which surfaces belong to a given
client, and the client associated with a given surface. WaylandClient is
an opaque type, representing an underlying wl_client *.

Change-Id: If21a2e02eb13a860e6ac641875bdcca67a53fdf5
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
12 years agoFixed leaking of ExtendedOutput objects in the compositor.
Samuel Rødal [Thu, 29 Mar 2012 09:04:27 +0000 (11:04 +0200)]
Fixed leaking of ExtendedOutput objects in the compositor.

Need to properly free them when the corresponding resource is destroyed.

Change-Id: I1680a7a8b598986aace942ce647cc0f80d4c022f
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
12 years agoPrevented crash and missing animation for shm clients.
Samuel Rødal [Tue, 27 Mar 2012 11:16:36 +0000 (13:16 +0200)]
Prevented crash and missing animation for shm clients.

Do the delayed attach _before_ we call handleExposeEvent(), which
might in turn lead to a damage being called before any buffer is
attached.

Change-Id: I55ef4f0de1b3ec201e727cebc52cfd891963b2b4
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
12 years agoProperly report content orientation changes in the compositor.
Samuel Rødal [Wed, 28 Mar 2012 15:15:23 +0000 (17:15 +0200)]
Properly report content orientation changes in the compositor.

Change-Id: I9a65299c140c645edc05bdddb92e792e3d57275a
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
12 years agoDon't initialize QRegion with an int.
Samuel Rødal [Wed, 28 Mar 2012 12:24:30 +0000 (14:24 +0200)]
Don't initialize QRegion with an int.

Using an int probably makes it use the QPolygon constructor with the int
treated as a size, which is not what we want.

Change-Id: Id382d5ebf15c8260b55d51c5b566e5e3ed054585
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
12 years agoChange the touch extension to be always available.
Laszlo Agocs [Wed, 28 Mar 2012 10:58:04 +0000 (13:58 +0300)]
Change the touch extension to be always available.

Not opt-in anymore. Clients that connect to the extension will get the
extended touch events, others will get the regular events.

Change-Id: I91daec1949814fff5cfa0ebcc82c0977eee963b7
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
12 years agoRemember to free the qtkey extension class.
Samuel Rødal [Wed, 28 Mar 2012 10:42:23 +0000 (12:42 +0200)]
Remember to free the qtkey extension class.

Change-Id: Ib327069521687bdf193f702b7dc89cff0ebbf416
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
12 years agoEnable the qtkey extension regardless.
Samuel Rødal [Wed, 28 Mar 2012 10:18:14 +0000 (12:18 +0200)]
Enable the qtkey extension regardless.

Now the clients get qtkey events if they register themselves against
that interface, otherwise they get regular key events. This handles both
qt clients and pure wayland clients being connected at the same time,
sending qtkey events to the former and regular key events to the latter.

Change-Id: Iebd9d78b57758b45098b99a94414ee428e41636b
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
12 years agoAdded qtkey extension to send raw QKeyEvents over the protocol.
Samuel Rødal [Tue, 27 Mar 2012 13:50:03 +0000 (15:50 +0200)]
Added qtkey extension to send raw QKeyEvents over the protocol.

For Qt based compositors we already have the full QKeyEvent, so we might
as well send it over the wayland protocol. This pretty much mirrors the
touch extension we already have.

Change-Id: I922f0cab6fe137272744762d6c57a31056b45672
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
12 years agoFixed platform plugin for "nogl" building
Pierre Vorhagen [Mon, 26 Mar 2012 09:46:55 +0000 (11:46 +0200)]
Fixed platform plugin for "nogl" building

Change-Id: Ib65990c6895ab32fda62703e6aec9afb39f6256c
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
12 years agoUpdate sync.profile
Alan Alpert [Wed, 21 Mar 2012 23:37:20 +0000 (09:37 +1000)]
Update sync.profile

Also needs declarative (which needs jsbackend)

Change-Id: Id2d2bea954ffb5c816aebc7a5d0513aecbbd971e
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
12 years agoUse new xkbcommon includepath
Pierre Vorhagen [Wed, 21 Mar 2012 10:02:09 +0000 (11:02 +0100)]
Use new xkbcommon includepath

Change-Id: I294e5e8511ae8319f11d516d452f9b8a0d149b75
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
12 years agoSend expose events and resize events according to spec
Gunnar Sletta [Fri, 16 Mar 2012 08:45:32 +0000 (09:45 +0100)]
Send expose events and resize events according to spec

Change-Id: Ia2452cd00e11c42d8ee7e8a1f8c39d82de3f4f37
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
12 years agoMake the native interface get the waylandintegration handle
Jørgen Lind [Wed, 14 Mar 2012 12:32:45 +0000 (13:32 +0100)]
Make the native interface get the waylandintegration handle

Then we don't need to go through the screen and the default screen if we
don't have a handle.

Change-Id: I2a2bb4d87a41c1acdf9af2f3abf3647b0f405a3a
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
12 years agoAvoid race condition
Paul Olav Tvete [Tue, 13 Mar 2012 11:33:34 +0000 (12:33 +0100)]
Avoid race condition

m_damaged may be set from a different thread while updateTexture() is
being executed. This change does not eliminate the race completely, but
will fail by creating the same texture twice instead of keeping an old,
invalid one.

Change-Id: Ic34d6df1699bd3d94fde3590343e4a524c9de6a2
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
12 years agoreact to and send expose events
Gunnar Sletta [Wed, 22 Feb 2012 15:33:19 +0000 (16:33 +0100)]
react to and send expose events

Change-Id: I55d52717e62feb4010895d55fe5b82e0eb7acc1b
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
12 years agoUpdated to use the Thread affinity patch that we tried to upstream
Jørgen Lind [Mon, 12 Mar 2012 13:58:51 +0000 (14:58 +0100)]
Updated to use the Thread affinity patch that we tried to upstream

Change-Id: I2de76d112d534588c3758213d8f5d6dd6e8c82df
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
12 years agoAdd explicit type casts to compile on desktop
Eskil Abrahamsen Blomfeldt [Tue, 31 Jan 2012 13:42:20 +0000 (14:42 +0100)]
Add explicit type casts to compile on desktop

If the wl_display type is forward declared and the native types
are typedef'd to something other than void*, there would be a
compile error.

Change-Id: I5fb813d3e2c5b718ba2c97651e5bdbeb661becbb
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
12 years agoWe have buffer Queueing
Jørgen Lind [Mon, 12 Mar 2012 13:29:46 +0000 (14:29 +0100)]
We have buffer Queueing

Change-Id: I95cc6e5368bcefa8791a141a6f6f4166bc380e64
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
12 years agoMake the module not depend on QtBase configure
Jørgen Lind [Sun, 11 Mar 2012 12:05:08 +0000 (13:05 +0100)]
Make the module not depend on QtBase configure

This is convenient if we want to reconfigure without reconfiguring
QtBase.

Change-Id: I719ba0d89905287a557e962ed6d804514e44b7f5
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
12 years agoAdded missing header for client autotest.
Samuel Rødal [Mon, 12 Mar 2012 07:58:10 +0000 (08:58 +0100)]
Added missing header for client autotest.

Change-Id: Iabfaf1b570be7a2082f15fc25d5e715a9613b4d7
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
12 years agoImplement cursor API in platform screen.
Friedemann Kleint [Tue, 6 Mar 2012 12:52:05 +0000 (13:52 +0100)]
Implement cursor API in platform screen.

Change-Id: I345852d407ab1dceb84ba99227dfd2989a54c6ad
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
12 years agoAdded testing of QBackingStore backend in wayland plugin.
Samuel Rødal [Wed, 7 Mar 2012 12:52:50 +0000 (13:52 +0100)]
Added testing of QBackingStore backend in wayland plugin.

Change-Id: I4db26cbee88f329a926914ff878e6efa9b0c8395
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
12 years agoAdded testing of key events to client auto test.
Samuel Rødal [Wed, 7 Mar 2012 09:40:31 +0000 (10:40 +0100)]
Added testing of key events to client auto test.

This requires passing on the native key code as well when calling into
QWindowSystemInterface from QWaylandInputDevice.

Change-Id: Iea1f98dcc9e050bb42cc48927da17aa54085a5e8
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
12 years agoGet rid of dummy source update functions and debug output.
Samuel Rødal [Wed, 7 Mar 2012 09:12:26 +0000 (10:12 +0100)]
Get rid of dummy source update functions and debug output.

The source update callbacks are unnecessary since change
d224714afd087cc73d8 in wayland.

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