summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* QWaylandShmBuffer: use a memfd if we can for a simple memory bufferv5.10.0-alpha1Thiago Macieira2017-08-261-7/+28
| | | | | | | | which has a file descriptor we can also use to share with Change-Id: I8d96dea9955d4c749b99fffd14cd61628c616b30 Reviewed-by: Johan Helsing <johan.helsing@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Merge remote-tracking branch 'origin/5.9' into devLiang Qi2017-08-1717-13/+251
|\ | | | | | | | | | | | | Conflicts: .qmake.conf Change-Id: Ia0f9d099e92a40cae7ec506781f70c56415bcf89
| * Try -lEGL when checking for wayland-eglJohan Klokkhammer Helsing2017-08-152-2/+4
| | | | | | | | | | | | | | | | This will detect wayland-egl on an imx6 without pkg-config Change-Id: I9c0fe6eef375fd0431a218c3b0407505c29eead9 Reviewed-by: Karim Pinter <karim.pinter@qt.io> Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| * Remove unimplemented overload for QWaylandSeat::sendFullKeyEventJohan Klokkhammer Helsing2017-08-151-1/+0
| | | | | | | | | | Change-Id: I2cc4e0877d5957c0939d62ec66ed2ce72f15e7e6 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| * Add missing QML documentation for ShellSurfaceItem::moveItemJohan Klokkhammer Helsing2017-08-141-1/+11
| | | | | | | | | | | | | | And add a more helpful explanation of the property. Change-Id: Ia5cd31867f5b0be586129abef829e00ee384b346 Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
| * Add missing documentation for examplesJohan Klokkhammer Helsing2017-08-144-0/+161
| | | | | | | | | | | | | | | | Add documentation for the following examples: minimal-qml, ivi-compositor, multi-screen and spanning-screens. Change-Id: Iacb14af9b1c825f08e2092836cb4821db005628d Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
| * Fallback to focusWindow as transient parentMarco Martin2017-08-101-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | The wayland protocol requires Popup windows to have a transient parent set, in order to correctly position the window on the screen. In Qt, some popup menus don't have it, so they will appear misplaced in the screen. This adds an heuristic which makes transientParent() return the current application focus window, which is an approximation which won't be always correct, but seems to fix most applications Task-number: QTBUG-60932 Change-Id: Icec1e306d3f64f4f00ad735a8c2eedb99e85eabb Reviewed-by: Johan Helsing <johan.helsing@qt.io>
| * Check surface exists when setting textinput focusDavid Edmundson2017-08-091-2/+4
| | | | | | | | | | | | | | | | | | | | QWaylandWindow resets the surface on various events. Handling focus comes in a posted event, so this can be after we've hidden a window and lost a surface. Task-number: QTBUG-61704 Change-Id: I535ff78c6bc2b86816696a08f8eebc47186d1225 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
| * Documentation: ShellSurfaceItem inherits WaylandQuickItemJohan Klokkhammer Helsing2017-08-091-0/+1
| | | | | | | | | | Change-Id: Ia67fe4f677dd77a6c1b4d7c1762fdefa9a2aed60 Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
| * Reset mFrameCallback in destructionDavid Edmundson2017-07-191-1/+3
| | | | | | | | | | | | | | | | Otherwise we crash if we call reset twice. For example if we call setParent and setVisible together. Change-Id: I7f07825167bf8c3236a80e649a6d6805fd6c868b Reviewed-by: Johan Helsing <johan.helsing@qt.io>
| * Fix incorrect type for WaylandQuickItem::subsurfaceHandler in docsJohan Klokkhammer Helsing2017-07-131-1/+1
| | | | | | | | | | Change-Id: I8d08eddb0eb9cd005b29e13818ba27efa11c6872 Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
| * Use a non grabbing zxdg_popup_v6 for tooltipsGiulio Camuffo2017-07-122-5/+7
| | | | | | | | | | | | Change-Id: I9de16c48a1dee7728fb02faa590c112bd656aa09 Reviewed-by: David Edmundson <davidedmundson@kde.org> Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
| * Update .gitignorePaul Olav Tvete2017-07-103-0/+7
| | | | | | | | | | Change-Id: Iddbfa1f631fe13fd901e0b3a00bafe334da51cf1 Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
| * Merge remote-tracking branch 'origin/5.9.1' into 5.9Liang Qi2017-06-301-0/+50
| |\ | | | | | | | | | Change-Id: I3c7b030f23004a35715fd82e6062271eb25d55d2
| | * Add changes file for 5.9.1v5.9.1Paul Olav Tvete2017-06-231-0/+50
| | | | | | | | | | | | | | | Change-Id: Ic0a54fe798e23876bfcb0397e41fabc63acd3b22 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
| * | Bump versionOswald Buddenhagen2017-06-301-1/+1
| | | | | | | | | | | | Change-Id: I7156b617468f802a01b1a3277ffc33383c93e71d
* | | Fix nullptr dereference when handling a popup with no positionerJohan Klokkhammer Helsing2017-08-161-1/+6
| | | | | | | | | | | | | | | | | | | | | If positioner was null, we would try to print its data in the error message. Change-Id: Ic6d5d5cd8039dbfd97d4cbbcc34fb18207ae633e Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | | Reintroduce the server-buffer examplePaul Olav Tvete2017-08-1617-1/+836
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The old, non-functional server-buffer example was removed in change 69bbd62a3c93f8142f57ad764db29ecaabbb0ff7. This is a reimplementation of the old example, based on the new server buffer API, and using the current Qt Wayland Compositor API. Change-Id: Idc455eab070fce35c5897dc7be53002c1bb6147a Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | | shm-based server buffer for testing on desktopPaul Olav Tvete2017-08-1615-0/+736
| | | | | | | | | | | | | | | Change-Id: I2ea03f3366524d3133a65870abad9d9389dfec9c Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | | Use nullptr instead of 0 in qtwaylandscannerJohan Klokkhammer Helsing2017-08-151-16/+16
| | | | | | | | | | | | | | | Change-Id: I5ffee26a4c0cd7726e007cc0692e403e15b5726e Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
* | | Update server buffer integrationPaul Olav Tvete2017-08-1510-87/+160
| | | | | | | | | | | | | | | | | | | | | | | | | | | Fix crashes, and change the (private) API to be more usable. The libhybris code compiles without warnings, but is untested. Change-Id: I1433daf1ba76d7869d1dfe260642199ce5a1b849 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | | Remove extra semicolonFrederik Gladhorn2017-08-111-1/+1
| | | | | | | | | | | | | | | Change-Id: I3941d7e8caffb613f546e628c7e089e971d1e8b8 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | | QWaylandShmBuffer: use QTemporaryFileThiago Macieira2017-07-311-20/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of using mkstemp. Even current glibc versions do not open the file with O_CLOEXEC, so this code is not thread-safe. QTemporaryFile is. And since Qt 5.10, it will also use O_TMPFILE on Linux, so the file will not actually exists on disk. Take this opportunity to use the runtime directory instead of /tmp. There's no guarantee that the /tmp filesystem can support mmap'ing, while XDG_RUNTIME_DIR has that guarantee. It's also usually a tmpfs, so no data will be leaked to disk. Change-Id: I8d96dea9955d4c749b99fffd14cd5335d1114cef Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
* | | Compositor: Add support for xdg-shell-unstable-v6Johan Klokkhammer Helsing2017-07-219-2/+2767
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds QML and C++ support for xdg-shell-unstable v6 on the compositor side. A couple of things are still missing for complete support, but can be added implemented later without breaking the API. Task-number: QTBUG-56174 Change-Id: I08d7c05aa4f40f00377d92f2519d89ab416daaf4 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | | Remove fallthrough warningsThiago Macieira2017-07-111-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | Found by GCC 7: qwaylandquickitem.cpp:223:9: warning: this statement may fall through [-Wimplicit-fallthrough=] Change-Id: I8d96dea9955d4c749b99fffd14cd5157a79d782b Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
* | | Use QRandomGenerator instead of q?randThiago Macieira2017-06-301-3/+2
| | | | | | | | | | | | | | | Change-Id: Icd0e0d4b27cb4e5eb892fffd14b5285d43f4afbf Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | Merge remote-tracking branch 'qt/5.9' into devPaul Olav Tvete2017-06-2718-20/+60
|\| | | | | | | | | | | Change-Id: I286b58e2c3a42c1078fd25d5b699c8a17edb1c23
| * | Set texture size and format in WaylandEglClientBuffer::toOpenGLTextureJohan Klokkhammer Helsing2017-06-221-0/+13
| | | | | | | | | | | | | | | Change-Id: I26e3ac4224fb54e1d3fddeef8847f9556effe324 Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
| * | Add missing breakThiago Macieira2017-06-221-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Found by GCC 7 qwaylandinputmethodeventbuilder.cpp:110:51: warning: this statement may fall through [-Wimplicit-fallthrough=] Change-Id: Ia3e896da908f42939148fffd14c47fc6058b0933 Reviewed-by: Jan Arne Petersen <jan.petersen@kdab.com> Reviewed-by: Johan Helsing <johan.helsing@qt.io>
| * | Disable the GCC warning about missing initializersThiago Macieira2017-06-222-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | New fields are appended to the structure, so we can't initialize them as we would lose compatibility with earlier versions of libwayland. So just disable the warning. Change-Id: Ia3e896da908f42939148fffd14c4806ce3468e56 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
| * | Fix all the warnings about deprecated qLoadPlugin1Thiago Macieira2017-06-227-14/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | qLoadPlugin is variadic and can take one argument to the plugin loader, so just use that. Change-Id: Ia3e896da908f42939148fffd14c481e367fdb128 Reviewed-by: Jan Arne Petersen <jan.petersen@kdab.com> Reviewed-by: Johan Helsing <johan.helsing@qt.io>
| * | Doc: correct qmlmethod statementNico Vertriest2017-06-192-3/+3
| |/ | | | | | | | | | | Change-Id: I9895a41cdf00bbfd1e41c07c627235a82f16f2c4 Reviewed-by: Topi Reiniƶ <topi.reinio@qt.io> Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
| * Translucent background supportTasuku Suzuki2017-06-192-2/+10
| | | | | | | | | | | | Change-Id: I6e7b5869097f579020c7a4439441a63a0771e955 Task-number: QTBUG-55956 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
| * Avoid double deletion of mBufferDonald Carr2017-06-161-0/+1
| | | | | | | | | | | | | | | | | | | | | | Both WaylandBrcmBuffer and WaylandBuffer were calling wl_buffer_destroy(mBuffer) without the derived class nulling the pointer on deletion Change-Id: I66a553a3d11a1ef90bbfe6ad0fb49f40fe1a0bdb Reviewed-by: Johan Helsing <johan.helsing@qt.io>
| * Set size and format in SharedMemoryBuffer::toOpenGlTextureJohan Klokkhammer Helsing2017-06-161-0/+3
| | | | | | | | | | | | | | The texture returned previously would have size (1,1) and format NoFormat Change-Id: Ic627b7ff9d10cc87cd9307f5f18ea96458fae212 Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
| * Fix missing rename from waylandDisplay to displayJohan Klokkhammer Helsing2017-06-131-1/+1
| | | | | | | | | | | | | | | | | | | | QWaylandCompositor::waylandDisplay was previously renamed to display, but the libhybris implementation was not updated. Task-number: QTBUG-61183 Change-Id: I80cacb7eeef93375bebd159b676db1147914e8de Reviewed-by: Jan Arne Petersen <jan.petersen@kdab.com> Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
* | multi-screen example: add control-alt-backspace Shortcut to quitShawn Rutledge2017-06-191-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | Same as 8cdd72afc11d96ec41f65577b38ffea63bc7294c on the pure-qml example. On the eglfs platform, there is no obvious way to exit back to a console, so it's too easy to get stuck in this example and need to reboot via ssh or some such. Ctrl-Alt-Backspace is the historical way of exiting from an X11 or Weston session, so we use it here. Change-Id: Ife3318675f1b5dbe640feb8f3f99e80efbd5dcfd Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io> Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | Send SurfaceCreated and SurfaceAboutToBeDestroyed events for wl_surfaceJohan Klokkhammer Helsing2017-06-092-4/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, the events were matching the life cycle of QWaylandWindow. This commit changes it so the events are matching the life cycle of wl_surfaces instead (a QWaylandWindow can outlive several wl_surfaces). Some of these events were already sent in QWindowPrivate (the first and last). Now we handle the cases where the wl_surface is destroyed and recreated due to hiding/showing the window or when changing the role of the wl_surface. Task-number: QTBUG-58423 Change-Id: Ie4a4e7dd529e1a41a2cf42e02cebb3c8aca4a4cc Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com> Reviewed-by: Marco Martin <notmart@gmail.com>
* | Merge remote-tracking branch 'origin/5.9' into devLiang Qi2017-06-07238-4873/+3337
|\| | | | | | | | | | | | | | | Conflicts: .qmake.conf src/client/qwaylandwindow.cpp Change-Id: I3ae070ff20df4b858a4eef769438092c061e47ef
| * Merge remote-tracking branch 'origin/5.9.0' into 5.9Liang Qi2017-05-311-0/+56
| |\ | | | | | | | | | Change-Id: Id5817af985116985bc270e08192dde61600bf726
| | * Add changes file for 5.9.0v5.9.0-rc2v5.9.0-rc1v5.9.0Paul Olav Tvete2017-05-111-0/+56
| | | | | | | | | | | | | | | | | | | | | Listing important changes and bug-fixes. Warning about binary compatibility break. Change-Id: I7e69b83648d2fa5c6b44ad004d0b8464f7dfe577 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
| * | Fix setting the window stateGiulio Camuffo2017-05-261-0/+4
| | | | | | | | | | | | | | | | | | Change-Id: I236095aa9103a2a35ecd79e747b8d1ee843a98f1 Reviewed-by: Jan Arne Petersen <jan.petersen@kdab.com> Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
| * | Match WaylandWindow scale to what we set on the buffer, not the screenDavid Edmundson2017-05-182-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | Currently if the screen scale changes we report a new devicePixelRatio to rendering but we don't send a new set_buffer_scale nor do we update the buffer sizes. This leaves us in a corrupt state. Change-Id: I5bb2bd5eec440cd1ce9080cd3a3dc65448f68298 Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
| * | Set the cursor when the pointer enters the windowGiulio Camuffo2017-05-121-1/+1
| | | | | | | | | | | | | | | | | | Change-Id: I1ff9928bc5d9d1d80ce07561243eeec89c406e36 Reviewed-by: Jan Arne Petersen <jan.petersen@kdab.com> Reviewed-by: Johan Helsing <johan.helsing@qt.io>
| * | Pass modifiers with wheel eventsDavid Edmundson2017-05-123-6/+7
| | | | | | | | | | | | | | | Change-Id: I345cdeea1357a8f9201a74b2d5e80350b6c42f24 Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
| * | send handleScreenGeometryChange with scaled geometryDavid Edmundson2017-05-121-1/+1
| | | | | | | | | | | | | | | | | | Change-Id: Ia9c3622369114e04318628262cc6ce2ea447cb4c Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io> Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
| * | Bump versionOswald Buddenhagen2017-05-101-1/+1
| | | | | | | | | | | | Change-Id: Ia52ba688ea44f88314c5619bfbcf8909a5732876
| * | Fix build without features.xlibTasuku Suzuki2017-05-081-2/+2
| |/ | | | | | | | | | | Change-Id: Id0f57aa71a1ec66dc16c9cfa1f31a2e1bdf3b61d Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| * Fix licensingv5.9.0-beta4Jani Heikkinen2017-05-04214-3583/+3144
| | | | | | | | | | | | | | | | | | | | Currently tests are licensed under GPL-EXCEPT, examples under BSD and src under LGPL so replase old license headers with new & proper ones. Also remove old & unused license files Task-number: QTBUG-57147 Change-Id: Ia6a738798736c275dc309ccfa5b627dc2178d241 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * Don't depend on shell extensionPaul Olav Tvete2017-04-271-39/+40
| | | | | | | | | | | | | | The mininimal-cpp compositor example does not have any shell extensions. Change-Id: I925450a75ab6f93245ca9897bbc6f092d93364b6 Reviewed-by: Johan Helsing <johan.helsing@qt.io>