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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>