summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/stable' into devAndy Nichols2013-06-03119-2513/+4067
|\ | | | | | | | | | | | | | | | | | | Conflicts: qtwayland.pro src/plugins/platforms/wayland_common/qwaylandshellsurface.cpp src/plugins/platforms/wayland_common/qwaylandwindow.cpp src/plugins/platforms/wayland_common/qwaylandwindow.h Change-Id: I6f9e8fb0536212b7b072aec3c8152390fb9f2922
| * Handle the commit protocol better in QtCompositorJørgen Lind2013-06-033-11/+48
| | | | | | | | | | Change-Id: I06477ee97ce95dcdb26ca4fae3cf7eeb7f1a2ace Reviewed-by: Andy Nichols <andy.nichols@digia.com>
| * fix damageJørgen Lind2013-06-032-3/+7
| | | | | | | | | | Change-Id: Ib30441d131bcfca979ae0a9a0044459bf8ede8e9 Reviewed-by: Andy Nichols <andy.nichols@digia.com>
| * Cursor theme configuration from environment variablesPier Luigi Fiorini2013-05-281-1/+9
| | | | | | | | | | | | | | | | Cursor theme name and size can be configured with environment variables just like with X11 applications. Change-Id: Ibad00f1d536424925b16c8f20b6a22751abd1566 Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
| * Make SurfaceBuffer::destroyTexture be reenterableElvis Lee2013-05-281-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | When QOpenGLSharedResourceGuard is freed, destroyTexture might be reentered to cause double free. If a texture has reference to wl_buffer which is already destroyed, freeing the texture with decreasing reference counter will call wl_resource_destroy for wl_buffer. Then destroyTexture will be reentered through destroy_listener_callback. Change-Id: I156f410ce1a05b3041b05a310b5d3d79d38e0a8c Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
| * Attach always the front buffer before committing it.Giulio Camuffo2013-05-281-1/+1
| | | | | | | | | | | | | | The attach semantics changed in Wayland master. Change-Id: I79efa5e3b2d048604cadb18543101a869ccb6835 Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
| * Install qwayland-server-wayland.hPier Luigi Fiorini2013-05-281-0/+1
| | | | | | | | | | | | | | It's required by the private QtCompositor API. Change-Id: I2f00fb5f60e5b849bb9656deef998ef3a1fb26e4 Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
| * Use requested window formatPier Luigi Fiorini2013-05-281-1/+1
| | | | | | | | | | | | | | | | | | Otherwise we end up with errors like this: QEGLPlatformContext::makeCurrent: eglError: 3009, this: 0x4b5c58 Change-Id: I6c44ee67c9049469088c5848df463a21e2bd2c66 Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
| * Remove scheduleRedraw() method leftoverPier Luigi Fiorini2013-05-281-2/+0
| | | | | | | | | | | | | | | | | | The scheduleRedraw() method was removed by the commit 076673dfe3d967e42c8d92b08165e2ac0e166b9b but it was left in the header. Change-Id: Ia7bc8aa4c749c1542174132d39c381d38105791e Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
| * Remove the unsecure security protocol extensionsJørgen Lind2013-05-228-155/+7
| | | | | | | | | | Change-Id: I99a5f964520f801070744ca73df394e1107f3dbf Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
| * Namespace Qt extensions qt_ instead of wl_Jørgen Lind2013-05-2240-135/+135
| | | | | | | | | | Change-Id: I6882f1747fa42b11e795252cba169f65e2fe08e5 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
| * Update to 1.1Jørgen Lind2013-05-211-291/+567
| | | | | | | | | | Change-Id: Iab806693d2ee940c29b5d0dcc08a7b1e88bcd97f Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
| * Don't create wl_shell_surface if BypassWinowManagerHint is setPier Luigi Fiorini2013-05-201-12/+13
| | | | | | | | | | | | | | | | | | Custom window types might want to set BypassWinowManagerHint and use the native Wayland API together with the platform native interface. In this case wl_shell_surface won't be used. Change-Id: I66d50fc89901e4ff513b8979d08d7ad7d37f817e Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
| * Calling damage on a surface from the compositor api doesn't make senseJørgen Lind2013-05-181-2/+1
| | | | | | | | | | | | | | It will not cause the damaged signal to be emitted Change-Id: Ifb8265811d432d80bd6d84469d5c673b62d65290 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
| * Make QWindowCompositor render when surfaces move aroundJørgen Lind2013-05-181-1/+1
| | | | | | | | | | Change-Id: I1f363238232c145941940fe203b110f8855d8c26 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
| * Set an initial size to the window if it is emptyMikko Levonmaa2013-05-161-0/+2
| | | | | | | | | | | | | | Change-Id: Ib3e8a4b69ef855be45ad1ad987975697d262c739 Reviewed-by: Jørgen Lind <jorgen.lind@digia.com> Reviewed-by: Samuel Rødal <samuel.rodal@digia.com> Reviewed-by: Andy Nichols <andy.nichols@digia.com>
| * Use shared .pri file for wayland_common and GL integrationsElvis Lee2013-05-153-42/+30
| | | | | | | | | | | | | | | | | | | | | | wayland_common.pro missed pkg-config for xkbcommon. But wayland-common.pri has it. Actually, Both the .pro and the .pri has many identical configurations. Make it to share wayland_common_share.pri for those configuations including xkbcommon to build wayland_common and GL integrations. Change-Id: I397592eae482976c18d3e86bd8e0427a5f219d06 Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
| * remove QWindowSystemInterface::flushWindowSystemEvents()Jørgen Lind2013-05-141-1/+0
| | | | | | | | | | Change-Id: I88e83f4490f98752e827c743405b7f62e1910902 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
| * Fix shader precision qualifierMikko Levonmaa2013-05-141-1/+1
| | | | | | | | | | | | | | | | On some stricter platforms this will cause problems in compiling the shader code Change-Id: I466e2ed231be9d414c9a3ffdb15ff67186933162 Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
| * Fixed rendering stalling in qml-compositor.Samuel Rødal2013-04-231-0/+1
| | | | | | | | | | | | | | | | | | We need to emit the textureChanged() signal on the QSGTextureProvider class for scene graph to mark the shader effect as dirty and for rendering of a new frame to be triggered. Change-Id: I57f625a154c5215e83b5e93b613463e97e9b8f77 Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
| * Fixed build issue due to not finding "wayland-client.h".Samuel Rødal2013-04-231-0/+4
| | | | | | | | | | | | | | We need to use pkg-config to add the proper include path to the CXXFLAGS. Change-Id: I51c388a3dd050514758997492c1fb1efb87b2837 Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
| * Fixed hellowindow with multiple windows in xcomposite-egl.Samuel Rødal2013-04-232-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | Multiple contexts are calling blockingReadEvents() from multiple threads, while the window belongs to one thread. So the mWaitingForFrameSync might get set to false by another thread while the current thread is stuck in blockingReadEvents(). This leads to animating blocking until something else puts events on the wayland event queue, for example mouse move events. Change-Id: Id76a82e500753c5817d25298662851c4a6505553 Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
| * Fixed EGL_BAD_MATCH error with xcomposite-egl.Samuel Rødal2013-04-231-1/+1
| | | | | | | | | | | | | | Context and surface need to be created with the same EGLConfig. Change-Id: I5ffd148d61ae67ca5ebd2d8382e635be7babc2df Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
| * Fixed / cleaned up xcomposite integrations.Samuel Rødal2013-04-239-77/+52
| | | | | | | | | | | | | | Compile fix and adaptation after qtwaylandscanner changes. Change-Id: I3dbaaaf6c01e1b5d5a7a36fedc036d3b0d20a4bc Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
| * Fixed client being blocked in xcomposite integrations.Samuel Rødal2013-04-234-63/+0
| | | | | | | | | | | | | | | | There's no need to wait for a sync until a frame has been rendered. As it was the client ended up waiting for a sync that never came. Change-Id: I41828d76ae62f1fa13f15bc050a16dd8e384fff4 Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
| * Adapted Surface and Region to use the qtwaylandscanner.Samuel Rødal2013-04-2319-178/+152
| | | | | | | | | | | | | | | | This requires some slight additions to the qtwaylandscanner to handle the pattern of the wl_resource not being owned by the generated class. Change-Id: Ia49c8129cee3a203ca9a727e83fafd3dfc653e75 Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
| * Use surfaceBuffer's image to get image for shm surfaceElvis Lee2013-04-233-8/+25
| | | | | | | | | | | | | | | | | | Allowing to get same image instance if the surface is not damaged, TextureCahche can get same hash key for unchanged source image. Also saves instructions for constructing QImage. Change-Id: Iba8df32c9c2bf735e31819db9adaa4f704ab6d22 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
| * Fix variable name in QWaylandInputDevice::keyboard_modifiersThomas Senyk2013-04-171-1/+1
| | | | | | | | | | | | | | Follow-up commit for Change I0bd493d4, for non-xkb builds Change-Id: I34e331e981d278cc1c184740c0f973d54836a0c3 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
| * Adapted code to use qtwaylandscanner.Samuel Rødal2013-04-1764-1548/+2112
| | | | | | | | | | | | | | | | | | | | | | | | We include the wayland.xml since we need to generate bindings for the core protocol as well. Also, WAYLANDSOURCES has been split into WAYLANDSERVERSOURCES and WAYLANDCLIENTSOURCES since we need to produce different output in the server and client cases. Change-Id: I0bd493d41ca6b26dfd2d9b1463d4b762786537f9 Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
| * Introduced qtwaylandscanner.Samuel Rødal2013-04-173-0/+1043
| | | | | | | | | | | | | | | | | | | | Generates C++ headers with Qt types based on the Wayland XML protocol files, to reduce a lot of code duplication in all the places that interface between Qt and the wayland protocol headers. Change-Id: I34a4417d3d3d0238de2f2f74986855d097b50ec9 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
| * Fix threaded resizing once more :)Jørgen Lind2013-04-164-15/+41
| | | | | | | | | | | | | | This time make Scenegraph also play along nicely Change-Id: I8d52fe2fc514466cef40e247e978434d8014e18b Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
| * Need to NULL check for waylandBufferHandle of m_backBuffercathy.park2013-04-101-1/+1
| | | | | | | | | | | | | | | | | | After unmapped, waylandBufferHandle of m_backBuffer can be null when another buffer attached before sendFrameCallback() called. Change-Id: I3470e42ca09466c5b2ecc6d6438090f5af50f59d Reviewed-by: Jørgen Lind <jorgen.lind@digia.com> Reviewed-by: Andy Nichols <andy.nichols@digia.com>
| * Add warning to makeCurrent if it failsJørgen Lind2013-04-101-5/+3
| | | | | | | | | | | | | | | | and remove code thats not needed anymore Change-Id: Ie79b1bd3d3cb632ba75ec429c1323ee679b274a9 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com> Reviewed-by: Andy Nichols <andy.nichols@digia.com>
| * Use the api instead of accessing "private" static variablesJørgen Lind2013-04-101-2/+1
| | | | | | | | | | | | Change-Id: I1dd7fe72de5b88d4bbde1d91912abd78ff833a64 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com> Reviewed-by: Andy Nichols <andy.nichols@digia.com>
| * Forgot to clear state after resizeJørgen Lind2013-04-101-0/+2
| | | | | | | | | | | | Change-Id: I596cba84a1d4e36daa58ddcce02a02ca8320712d Reviewed-by: Samuel Rødal <samuel.rodal@digia.com> Reviewed-by: Andy Nichols <andy.nichols@digia.com>
| * Remove unnecessary blocking roundtripJørgen Lind2013-04-101-1/+0
| | | | | | | | | | | | Change-Id: Ie12cdc1d2d931dc86497188d69b34bae47fa6dcc Reviewed-by: Samuel Rødal <samuel.rodal@digia.com> Reviewed-by: Andy Nichols <andy.nichols@digia.com>
| * Make resizing thread-safeJørgen Lind2013-04-054-10/+55
| | | | | | | | | | | | Change-Id: I57407fe3d3877f59b1587ec94ff88a44195271cb Reviewed-by: Samuel Rødal <samuel.rodal@digia.com> Reviewed-by: Andy Nichols <andy.nichols@digia.com>
| * Fix window decorations to be thread safeAndy Nichols2013-04-0520-327/+122
| | | | | | | | | | | | | | | | | | | | | | | | | | Rather than have window decorations that paint directly to the paint device representing the window surface, window decorations are now generated on demand into a backing store based on their current state, and then are rendered to a surface when needed. There is still a problem with resizing though that needs to be addressed. Change-Id: I7516628239eb0f9ae46d49bcb4bb2cb94ec6a617 Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
* | Attach always the front buffer before committing it.Giulio Camuffo2013-04-031-1/+1
| | | | | | | | | | | | | | | | | | The attach semantics changed in Wayland master. Change-Id: I79efa5e3b2d048604cadb18543101a869ccb6835 Reviewed-by: Jørgen Lind <jorgen.lind@digia.com> Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@gmail.com> Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* | Fix the popups handling.Giulio Camuffo2013-04-034-5/+63
|/ | | | | | | | | | | | | Use wl_shell_surface_set_popup() instead of wl_shell_surface_set_transient(), since the latter is not supposed to make the surface follow the transient parent movements. Needs Weston master or 1.0.6, otherwise freezes will happen. To have the best experience you should however use recent weston master. The popups in QtCompositor are badly placed. Change-Id: I3c86e5d74503514749840681b4e81c58cd73ca70 Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* Add environment-variable to be able to disable window-decorationsThomas Senyk2013-03-191-0/+4
| | | | | | | | | | | When QT_WAYLAND_DISABLE_WINDOWDECORATION is set, QWaylandWindow doesn't create a QWaylandDecoration anymore for any type of window. This is especially useful for (embedded) use-case where one doesn't need window-decorations at all or want to have server-side decorations. Change-Id: I413e4f3a96241e76b73364833e4ee56b6d9a1680 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com> Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* Send property to client according to it's parameterElvis Lee2013-03-131-2/+2
| | | | | | | | On ExtendedSurface::setWindowProperty(), use it's writeUpdateToClient parameter. Change-Id: I34e4af361715d4bb8cf42c73e6787b24e740df66 Reviewed-by: Jørgen Lind <jorgen.lind@gmail.com>
* Fix the WindowStates handling.Giulio Camuffo2013-03-046-28/+66
| | | | | | | | Every request to maximize/minimize/fullscreen must go via QWindow::setWindowState, and not by calling QWaylandShellSurface methods. Change-Id: Ic8efae37e8775a146044de40bc15a0711f205402 Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* Return wl_compositor for integrationPier Luigi Fiorini2013-03-031-0/+4
| | | | | | | Return wl_compositor pointer when the native resource is requested. Change-Id: I67edf70ccca02cfe21606d3351c08e88000d8c35 Reviewed-by: Jørgen Lind <jorgen.lind@gmail.com>
* Report the right screen refresh rate.Giulio Camuffo2013-03-021-2/+2
| | | | | | | | Qt wants the refresh rate in Hz, while Wayland uses mHz. Change-Id: Ib1e0235742ca099b5c4e390d2f98b910aabf0657 Reviewed-by: Jørgen Lind <jorgen.lind@gmail.com> Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* Read and process Wayland events in separate threadAndy Nichols2013-02-257-48/+123
| | | | | | | | | | | | This commit introduces a new thread that is to be considered the main Wayland thread. This is the thread where we read from the Wayland socket. We are now using the Wayland event queue feature to make sure that events are dispatched in the correct threads. This commit also re-enables support for threaded OpenGL rendering. Change-Id: I4f7bfdb6c008be2232bb98b63818a984eae44abf Reviewed-by: Jørgen Lind <jorgen.lind@gmail.com>
* Fix popup menus hanging the application when triggering them too fastGiulio Camuffo2013-02-221-3/+4
| | | | | Change-Id: I0133145c089384d0d21969ca9c768a7a72521628 Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* Delete the margins image in ~QWaylandShmBuffer()Giulio Camuffo2013-02-211-0/+1
| | | | | | | | This missing delete was causing a quite important memory leak when resizing shm windows. Change-Id: I5bd84d12cdb842c62284df712b3939afe47ff10b Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* Draw client side decoration actions with pixmapsPier Luigi Fiorini2013-02-181-5/+89
| | | | | | | | | | Pixmaps are nicer than manually drawn actions. Use pixmaps from QCommonStyle if XPM support is enabled, otherwise fallback to manually drawing the actions. Change-Id: I0a73ede7cd94e59fd6b3813ef5a3964243171c84 Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* Fix BRCM compilation issuesanknight2013-02-182-6/+3
| | | | | | | | | - Add libEGL to platform plugin libs - Update include to new Qt-ified API - Remove old hardware integration initializer Change-Id: I20d2663439ee060e512d40ce14bc104e4395d815 Reviewed-by: Andy Nichols <andy.nichols@digia.com>