summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
| * Merge remote-tracking branch 'origin/5.11' into 5.12Qt Forward Merge Bot2018-12-111-0/+30
| |\ | | | | | | | | | Change-Id: Ia8bbdf9dcace6e58183da3b627170099f6667fe9
| | * Merge remote-tracking branch 'origin/5.11.3' into 5.11Qt Forward Merge Bot2018-12-043-2/+34
| | |\ | | | | | | | | | | | | Change-Id: I16cf098f93e76de8437963fd41be4a5605101cb9
| | | * Add changes file for Qt 5.11.3v5.11.3Antti Kokko2018-11-191-0/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 53dff95bfbe9070c4cd17045f3d5147f29710c5f Compositor: Fix OpenGL textures deleted prematurely + c3b6c4d442c8187e43601c548bc58ce3e4fe21f3 Compositor: Don't send illegal leave events + 297bcd005c4205f69e1bf9e9dc565ab757cf0bac Don't destroy buffer before surfaceDestroyed signal + dccec9b282ae15fa65fd61698dd1cb47325e5c8e Bump version Change-Id: I548d049f958038a358982cc9470654cead9f05df Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| | | * Don't crash if view is deleted from surfaceDestroyed signalPaul Olav Tvete2018-11-161-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix regression introduced in 297bcd005c4205f69e1bf9e9dc565ab757cf0bac Fixes: QTBUG-71643 Change-Id: I769518a9ca13fcd13ea277c7fa8ac1885ca123ba Reviewed-by: Johan Helsing <johan.helsing@qt.io> (cherry picked from commit f890798053c7fa692bff7f8a3e96583dfcaba0cb) Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| | | * Compositor: Fix crash after surface destructionJohan Klokkhammer Helsing2018-11-161-1/+1
| | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes a crash due to dangling pointer dereference in QWaylandQuickItem::inputMethodQuery. Fixes: QTBUG-71745 Change-Id: Id379779f23221e7de17423f75c3d78d7e794b7b9 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io> (cherry picked from commit d52e86e6f9bfde48b473dbe9d08e325d45388254) Reviewed-by: Andreas Cord-Landwehr <andreas.cord-landwehr@claas.com>
| * | tests: minor fixup in tst_WaylandCompositor::comparingModes()Gatis Paeglis2018-12-091-1/+1
| | | | | | | | | | | | | | | | | | | | | This patch amends d25b3b7f1059d5561bce3efe7ea903ea76d4e888 Change-Id: I413818f6cd4a77062287265f3bcb5db6170fc4d2 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
| * | Fix invalid QWaylandOutputMode comparison operatorJędrzej Nowacki2018-12-062-2/+25
| | | | | | | | | | | | | | | | | | Fixes: QTBUG-72288 Change-Id: I61fde92ea4275febbb4ec8c067280a4ca570d7c1 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
| * | use new feature name xkbcommon_evdev -> xkbcommonGatis Paeglis2018-12-0517-59/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | The xkbcommon configure logic was refactored in qtbase/c3a963da1f9e7b1d37e63eedded61da4fbdaaf9a. For more details see the relevant commit. Change-Id: Ic1aa26846ab8266c589f6e92dc8b81aba36df58a Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | | remove stray Q_UNUSED callGatis Paeglis2018-12-171-2/+0
| | | | | | | | | | | | | | | | | | | | | The variable actually is used. Change-Id: I758c35e49b5c9f861ae40c34dcd4fa60d85361ae Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | | Compositor: Implement linux-dmabuf-unstable-v1Andreas Cord-Landwehr2018-12-1317-3/+1684
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [ChangeLog][Compositor] Added support for linux-dmabuf-unstable-v1. Implement client side DMABUF buffer sharing support by supporting the linux-dmabuf-unstable-v1 (version 3) protocol. For enabling DMABUF, set the following environment variables for the compositor: QT_QPA_PLATFORM=eglfs QT_WAYLAND_CLIENT_BUFFER_INTEGRATION=linux-dmabuf-unstable-v1 The current implementation supports the following DRM buffer formats: - RGB and RGBA - YUYV This implementation requires Mesa with the following patch applied. Otherwise, textures are not updated. The patch is contained in Mesa 18.1.5. See https://patchwork.freedesktop.org/patch/238080/ Fixes: QTBUG-66288 Fixes: QTBUG-67845 Change-Id: Id4d90337dbe0be956b0f964426ebed3f281c6c30 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | | Client tests: Add simple test for mouse clickJohan Klokkhammer Helsing2018-12-131-0/+23
| | | | | | | | | | | | | | | Change-Id: I2eb9bf8aa03e8df61a26d26da061f4030d8de0be Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | | Client: Clarify warnings about unexpected enter/leave eventsJohan Klokkhammer Helsing2018-12-111-6/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With the previous wording it was a bit unclear whether this was a client problem or not. Also adds logging category. Change-Id: I61084c0b2c7f17408575d1d4b6cc7809c4c6d99d Reviewed-by: David Edmundson <davidedmundson@kde.org> Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | | Create a new type of mock compositor for client testsJohan Klokkhammer Helsing2018-12-1137-766/+2967
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are a number of issues with the current client testing: - Adding new compositor functionality is cumbersome (need to add compositor send method, command, implementation, not to mention creating new wrapper objects. - Customizing available globals and their versions is not possible and would be hard to implement. I.e. how to test that functionality works with old and new versions of an interface? Handle globals being destroyed. We did this with wl_output, but it was painfully cumbersome. - Hard to verify that the compositor state is clean between tests. It is currently done in some tests, but requires boiler plate code which needs to be added and maintained for each test. - In general lots of boiler-plate for new tests. (We have to have separate tests as long as Qt has global/static state. I.e. if one shell extension has been initialized, we can't deinitialize and initialize another one, so tests have to be separate.) - Dispatching server events tied to the client event loop sometimes makes it hard to write tests without deadlocks. - Abstraction, encapsulation and automatic behavior that can't be disabled makes it hard to test low-level functionality like surface exposure. So, in an attempt to mitigate these issues, I wrote a new testing framework. - Compositor dispatch is running continuously in it's own thread, access to compositor state is guarded by a mutex on the compositor, locking this will make dispatching stop, so the test can safely access internals. Although a bit cumbersome at first this makes it much easier to directly use server protocol commands from the test itself, i.e. no need to create commands for every single thing we want to test. - The CoreCompositor::exec template method can accept a lambda that will be run with dispatching stopped. It can also return a value, conveniently letting us safely extract or modify compositor state from tests. - This framework also takes full advantage of the qtwaylandscanner, using wrapper classes for everything, reducing boiler plate considerably. - The compositor parts are designed to do as little as possible automatically, but still provide easy ways to enable common functionality, like releasing buffers automatically, configuring shell surfaces etc. - Compositor globals are pluggable, use add<GlobalClass>() and remove<GlobalClass>() to add new global interfaces. I.e. easy to create a compositor with or without data_device_manager for instance. - DefaultCompositor provides a sensible default set of functionality and convenience methods for most test-cases. Custom ones can still be made by inheriting from CoreCompositor directly instead or by removing or adding globals to DefaultCompositor. - Globals have an isClean() method. Implement it to verify that the client didn't leave any objects lying around from the previous test. CoreCompositor::isClean calls isClean on the globals so a single call is all that's needed. In short, we've traded mock compositor encapsulation and thread safety guarantees for less boiler-plate, easier and more convenient access to internals. Anything accessing compositor state should go into a exec() call, or through the wrapper macros QCOMPOSITOR_VERIFY and QCOMPOSITOR_COMPARE (or the TRY versions). I've also tried to make the compositor print warnings if compositor state is accessed in an unsafe way. The mock compositor is currently built once per test due to CI limitations (same thing as with the old tests). Change-Id: Ia3feb80ce175d3814292b7f4768a0cc719f8b0e8 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | | Merge remote-tracking branch 'origin/5.12' into devLiang Qi2018-12-0511-19/+146
|\| | | | | | | | | | | | | | | | | | | | Conflicts: src/compositor/compositor_api/qwaylandquickitem.cpp Change-Id: I5e01a0731e880e3eb8eab349043756a5993e3050
| * | Scanner: Add include for QListJohan Klokkhammer Helsing2018-12-051-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | QList is not included when built with QT_NO_QOBJECT defined. Change-Id: Iaf8874583e81b08a49ec246a5de0b62803c8ed7e Reviewed-by: Sami Nurmenniemi <sami.nurmenniemi@qt.io> Reviewed-by: Liang Qi <liang.qi@qt.io>
| * | Merge remote-tracking branch 'origin/5.12.0' into 5.12Qt Forward Merge Bot2018-12-056-9/+118
| |\ \ | | | | | | | | | | | | Change-Id: Ica38060e6d624a7534660eabec604f6795970c95
| | * | Don't crash if view is deleted from surfaceDestroyed signalv5.12.0-rc2v5.12.0-rc1v5.12.0Paul Olav Tvete2018-11-071-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix regression introduced in 297bcd005c4205f69e1bf9e9dc565ab757cf0bac Fixes: QTBUG-71643 Change-Id: I769518a9ca13fcd13ea277c7fa8ac1885ca123ba Reviewed-by: Johan Helsing <johan.helsing@qt.io>
| | * | Only print deprecation warning when using deprecated shellsPaul Olav Tvete2018-11-072-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Avoids printing deprecation warnings for shells that are available by default but not actually used. In particular, avoids warning about wl-shell when using ivi-shell. Change-Id: Id075e97572e6ec876ad24f369808c61a479e9b07 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
| | * | Add changes file for Qt 5.12.0v5.12.0-beta4Johan Klokkhammer Helsing2018-11-061-0/+105
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: Iffc0865a07cef3f6a21920aac698934cf0867644 Reviewed-by: Johan Helsing <johan.helsing@qt.io> Reviewed-by: David Edmundson <davidedmundson@kde.org> Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| | * | Client: Explicitly send expose window on first configureDavid Edmundson2018-10-312-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before 88a0246a46c30e08e9730d16cf8739773447d058 we would always call QWaylandWindow::applyConfigure which in turn sends an expose event. Without that clients do not commit their initial buffer. This adds back the expose event on the first received configure. Fixes: QTBUG-71509 Change-Id: Ica39bb23245957948e1e1f75caf4f16f7b086ef7 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
| * | | Fix compilation with gcc 4.8Ville Voutilainen2018-12-044-10/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | GCC 4.8 doesn't like QPointers in signal connections. Also, Default Member Initializers for aggregates are C++14, so we need to write a constructor to make a class with DMIs work in C++11. Change-Id: I567c60a8081fa2f268517ec747bd6534674bcce5 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | | | Merge remote-tracking branch 'origin/5.12' into devQt Forward Merge Bot2018-12-042-3/+2
|\| | | | | | | | | | | | | | | Change-Id: I29192963efa6753a4cf222a3aec92ab400deb2f0
| * | | Fix unused variables, in preparation for adding warning_cleanSergio Martins2018-11-301-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The QByteArray one seems like an actual bug. Change-Id: I11de9c7a10cdd3e70f9f6af18bcce3bd3bf54320 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
| * | | Fix build due to missing QDebug includeSergio Martins2018-11-301-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Build was failing on Archlinux Change-Id: I3cf9a367a099cd365a2de6579c7ef5585cd9be56 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | | | Merge remote-tracking branch 'origin/5.12' into devQt Forward Merge Bot2018-11-241-4/+5
|\| | | | | | | | | | | | | | | Change-Id: I224c25d20f58723d085e4ee340744d1c7af67933
| * | | Client: Fix incorrect enter serial in set_cursorJohan Klokkhammer Helsing2018-11-211-4/+5
| | | | | | | | | | | | | | | | | | | | Change-Id: Ibeacc5218acbd6003b85811a175ed00fd62a4b51 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | | | Client: Don't create cursor surface until we can set its roleJohan Klokkhammer Helsing2018-11-211-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We can't set the cursor role until we have gotten an enter event, so wait with creating the surface until we want to set the role for the first time. Makes testing easier since we don't have to deal with role-less surfaces that may or may not be the cursor surface. Change-Id: I99803d9b0b5933a271b6b1d56f74d4ff79813e40 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io> Reviewed-by: David Edmundson <davidedmundson@kde.org>
* | | | Add convenience for converting wl_resource * to wrapper typesJohan Klokkhammer Helsing2018-11-2115-44/+125
| | | | | | | | | | | | | | | | | | | | Change-Id: Ieb2f9706ac707ff878165d3f9001e4a28b8ff1ce Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | | | qtwaylandscanner: Generate Resource::object without interface prefixJohan Klokkhammer Helsing2018-11-211-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows writing template functions like this template<typename return_type> return_type *fromResource(struct ::wl_resource *resource) { if (auto *r = return_type::Resource::fromResource(resource)) return static_cast<return_type *>(r->object()); return nullptr; } Letting us easily cast a wl_resource to a wrapper type, i.e.: wl_resource *resource = ... auto *surfacePrivate = fromResource<QWaylandSurfacePrivate>(resource); This can hopefully let us reduce some boilerplate in the future. Change-Id: I41630f35b3472baa39d88d89c1c6503cc0e6584a Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | | | Merge remote-tracking branch 'origin/5.12' into devQt Forward Merge Bot2018-11-174-34/+48
|\| | | | | | | | | | | | | | | Change-Id: I6cc70da737d07a87e2b396e35f64adfeffc565bd
| * | | Merge remote-tracking branch 'origin/5.11' into 5.12Qt Forward Merge Bot2018-11-160-0/+0
| |\ \ \ | | | |/ | | |/| | | | | | | | | | | | | | | | | Conflicts: .qmake.conf Change-Id: Iff5aaed3b02a2f59d1ffc88e2b2375da685b100e
| | * | Bump versionOswald Buddenhagen2018-11-081-1/+1
| | | | | | | | | | | | | | | | Change-Id: I2057039a7d4cfccf1b49906b446f4ee7911d8c76
| * | | Client: Rename m_topmostPopup to clarify its goalDavid Edmundson2018-11-144-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is used when creating new grabbed popups to ensure they are only created on the topmost grabbing popup as per the specification. Non-grabbing popups don't have this restriction. Change-Id: I8e2b8cd0f091688c847f81f2e5d33ce2f0df96a1 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
| * | | Client: Don't require an input device for non-grabbing popupsDavid Edmundson2018-11-144-26/+40
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | It's valid to create a non-grabbing XDG-popup, such as a tooltip, before an input event. The current guard should only apply for grabbing popups, otherwise tooltips created early are turned into XDG-toplevels resulting in incorrect positioning. Change-Id: I5bb59a68964ef2375c81e8b4e1a73361b9d2cbcc Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | | Add QWaylandSurface::bufferSize and deprecate sizeJohan Klokkhammer Helsing2018-11-162-11/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Size is confusingly returning the surface size in buffer coordinates and not surface coordinates. Create a new property bufferSize and deprecated size in order to make it less ambiguous. [ChangeLog][Compositor] QWaylandSurface::size has been deprecated. Use bufferSize or destinationSize instead. Change-Id: I7985e4cc1b8d627f922680c1800d2687d710d7b3 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | | Compositor: Fix coordinate system inconsistenciesJohan Klokkhammer Helsing2018-11-1618-61/+136
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Several properties were using pixel coordinates and surface coordinates without converting. [ChangeLog][Compositor] QWaylandSurface::destinationSize has been added which returns the size of the surface that will be displayed on the screen in surface coordinates. [ChangeLog][Compositor] Fixed a bug where QWaylandSurface::inputRegionContains would return true for some points outside surfaces with buffer scale > 1. [ChangeLog][Compositor] Fixed a bug which caused ShellSurfaceItems for surfaces with buffer scale > 1 to move too much when resizing interactively. It also gets rid of all calls to QWaylandSurface::size, which confusingly returns the size of the surface's buffer in pixel coordinates. Most properties now use destionationSize's surface coordinates consistently. Hopefully, QWaylandSurface::size can be renamed or removed in Qt 6. Change-Id: I007256a8df7759cf74fbfd51624fa1f90c083336 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | | Client: Improve logging for wayland-eglJohan Klokkhammer Helsing2018-11-071-4/+4
| | | | | | | | | | | | | | | | | | | | | Use logging categories, and print error code when eglInitialize fails. Change-Id: Iacba3b74a5dad23aba2309919fac7662967c94d7 Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
* | | Client: Add fullscreen shell integrationPier Luigi Fiorini2018-11-0520-1/+876
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [ChangeLog][QPA plugin] Added support for fullscreen-shell unstable v1. The fullscreen_shell_unstable_v1 interface displays a single surface per output and it is used for nested compositors, where each output is rendered in a surface that is then displayed by the main compositor. For example weston could be the main compositor and a QML compositor could be launched as a client using this shell integration to display it inside weston. Change-Id: I037679a283ff03cb4bdf4b3fed59945090ec9250 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | | Scanner: Assert resource in destroy handlersJohan Klokkhammer Helsing2018-11-021-0/+1
| | | | | | | | | | | | | | | Change-Id: I8e32b267a4cc5a4cfc462f7819a378573e179134 Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
* | | Client: Use logging category for chosen shell integrationJohan Klokkhammer Helsing2018-11-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Nothing is wrong, so we shouldn't pollute stderr. Change-Id: I05538c8e5199f97ebb1a1233e866f3a93179b799 Reviewed-by: David Edmundson <davidedmundson@kde.org> Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
* | | Merge remote-tracking branch 'origin/5.12' into devQt Forward Merge Bot2018-10-3015-22/+167
|\| | | | | | | | | | | Change-Id: I1d9281750b06f7584e55759994dc6fcbcc5b2455
| * | Merge 5.12 into 5.12.0Oswald Buddenhagen2018-10-3012-20/+154
| |\ \ | | | | | | | | | | | | Change-Id: Ic7b7999f42b1867982b9410efb5224d68e9443f8
| | * | Client: Don't spam expose eventsJohan Klokkhammer Helsing2018-10-263-1/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Only send expose event when the geometry actually changed. Change-Id: Ic06986ce5d11e0ff7a842303f57093b8ff25b9f6 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io> Reviewed-by: David Edmundson <davidedmundson@kde.org>
| | * | Client: Don't attach buffers to unexposed windowsJohan Klokkhammer Helsing2018-10-2612-19/+126
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QBackingStore::flush is sometimes called with an unxeposed window, in that case, don't attach the buffer to the wl_surface immediately, as that causes protocol errors with xdg_shell. Flushed buffers are instead stored until we get the first configure event. [ChangeLog][QPA plugin][xdg-shell] Fixed a bug where buffers were sometimes attached and committed before the first configure event, causing protocol errors. Fixes: QTBUG-71345 Change-Id: If9409d97bd25f6b13940c56141920a664c349c8e Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io> Reviewed-by: David Edmundson <davidedmundson@kde.org>
| * | | Client: Fix fullscreen regression on wl-shellJohan Klokkhammer Helsing2018-10-281-1/+1
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The code for isNormal was wrong, so set_toplevel (which clears fullscreen state) would be sent unless the window was both maximized and fullscreen. Fixed it and made it a little bit more readable. Change-Id: Icaa52d3a058df064a0bd1164119af3f511cb4220 Fixes: QTBUG-71350 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io> Reviewed-by: David Edmundson <davidedmundson@kde.org>
| * | Compositor: Add const version of QWaylandQuickItem::inputRegionContainsJohan Klokkhammer Helsing2018-10-222-1/+12
| | | | | | | | | | | | | | | Change-Id: I649149e2cee24f8296bf24a22ee8bb865feea9c6 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | | Merge remote-tracking branch 'origin/5.12' into devQt Forward Merge Bot2018-10-204-53/+113
|\| | | | | | | | | | | Change-Id: I36baa27b69b755f81de9cda94113d338f06c34a1
| * | Compositor: Emit signals after applying pending surface statev5.12.0-beta3Johan Klokkhammer Helsing2018-10-184-53/+113
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [ChangeLog][Compositor] Fixed a bug where some signals on QWaylandSurface were emitted before all double buffered state had been applied. Restructures QWaylandSurface::commit so no signals are emitted until all state mutations are completed. Adds a test to confirm that pending state is applied at once. Also fixes opaqueRegion, which is documented to be double buffered as well, but the old implementation set it immediately. Change-Id: I1c4dfea7c83dd9ee84dc8c03e6d92e2924bf2fad Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | | Client: Set key repeat rate and delay from the repeat_info eventJohan Klokkhammer Helsing2018-10-172-2/+11
| | | | | | | | | | | | | | | | | | | | | | | | [ChangeLog][QPA plugin] Clients now follow the keyboard key repeat delay and interval configured by the compositor. Change-Id: I8a88d341a2bb648d70f95494fe19e941273ae31b Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
* | | Load the Linux SPI Accessibility bridgeDavid Edmundson2018-10-153-4/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is mostly a copy of XCB's atspi brige loading, only it creates the original QPlatformAccessility() instance if the atspi bridge is not available, to match the current behavior. This also moves accesibility module to be lazy-loaded to match both Mir and XCB QPAs. Change-Id: I7b7ccadbec3760ab8a9449124db0db3f28c1f355 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>