summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2019-10-2621-121/+159
|\ | | | | | | Change-Id: If09bb13aa7a0aadd5cfb8265166d3b9d1b22e2f1
| * Compositor: Warn and clean up when client hardware buffer integrations failJohan Klokkhammer Helsing2019-10-2514-73/+112
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We've recently seen a number of performance issues on bugreports and on the mailing list. The problem in many of these cases, is that no client hardware buffer plugin is used. I.e. it's just due to our fallback to CPU buffers when the compositor is configured incorrectly or run in a setup where hardware buffers are not available. This patch detects when client hardware buffer plugins fail and prints a warning explaining the issue to the console. This will make it easier to differentiate between expected and unexpected drops in performance and will hopefully also guide users in the right direction to fix their setup (set the right environment variables and perhaps recompile Qt with a supported OpenGL version). QtWayland::ClientBufferIntegration now returns a bool indicating success or failure. The integration is now destroyed immediately if it failed, instead of leaving it lying around until the compositor shuts down. There has been some slight changes in the xcomposite plugins as well, turning some qFatals into qCWarnings and failing more softly (with the warning mentioned above). Task-number: QTBUG-78483 Change-Id: I55293dbb3cf72768f3982c075fcf63e79329ada1 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| * Fix QClipboard::ownSelection always returning falseJohan Klokkhammer Helsing2019-10-251-5/+11
| | | | | | | | | | | | | | It would return false regardless of whether we owned the selection. Change-Id: I6df394d8dbceeccb6eb6d0670b4351af1a158491 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| * Fix missing emission of QClipboard::selectionChangedJohan Klokkhammer Helsing2019-10-242-1/+10
| | | | | | | | | | | | | | And add a test to verify we've fixed it. Change-Id: Ic6d5e64b3000444465935f7caf7e32ec9c4f1012 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| * Signal clipboard change when focus lost clears the selection offerPekka Vuorela2019-10-221-0/+7
| | | | | | | | | | Change-Id: I311a5d422f31347029795dbd2479a771ae93c01f Reviewed-by: Johan Helsing <johan.helsing@qt.io>
| * Fix url getting broken on openUrlPekka Vuorela2019-10-211-3/+7
| | | | | | | | | | | | | | | | | | UTF-8 byte array cannot be split in random position and assume getting valid content on resulting parts. Switched chunk size to be based on characters, encoded size will vary but don't think that should matter. Change-Id: Ic41ea16d2111b1620993b60fdbc6e739929f25d7 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| * Client: Print a warning when trying to set clipboard without a seatJohan Klokkhammer Helsing2019-10-211-1/+3
| | | | | | | | | | | | | | | | | | This warning can save some time when trying to understand why some qtbase auto tests are failing on headless Weston (which doesn't have seats at the moment). Change-Id: I361546611d12bff8a465af5bb103f61e80d73a15 Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
| * Merge remote-tracking branch 'origin/5.13' into 5.14Johan Klokkhammer Helsing2019-10-212-38/+9
| |\ | | | | | | | | | | | | | | | | | | | | | Conflicts: src/client/qwaylandwindow.cpp tests/auto/compositor/compositor/tst_compositor.cpp Change-Id: Iacfcae577a4a99c847694ae3a2c6e3e9ae050817
| | * Client: Fix 100ms freeze when applications do not swap after ↵Johan Klokkhammer Helsing2019-10-172-38/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | deliverUpdateRequest [ChangeLog][QPA plugin] Fixed a 100 ms freeze that would occur if applications did not draw after receiving a deliverUpdateRequest(). QtQuick does this at the start of animations. This should get rid of those backingstore warnings (and also remove a 100ms freeze before animations start in those instances). Fixes: QTBUG-76813 Change-Id: Id366bf4a14f402fa44530ae46e7b66d9988c14f6 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io> Reviewed-by: John Brooks <john.brooks@qt.io>
* | | Client: Add Vulkan support for WaylandJohan Klokkhammer Helsing2019-10-259-1/+413
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Inspired by the xcb version. hellovulkantriangle runs smootly, but freezes in some multi-monitor setups. [ChangeLog][QPA plugin] Added Vulkan support. Fixes: QTBUG-78000 Change-Id: I8711b5b47e4b71cde78295aab9acb3f5945b141b Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* | | Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2019-10-19197-2944/+992
|\| | | | | | | | | | | Change-Id: I62ad84b48962fc119e4483a794406d8f4768ee32
| * | Update QtWaylandCompositor license headers to GPL 3v5.14.0-beta2Paul Olav Tvete2019-10-16196-2940/+980
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As announced on the mailing list, QtWaylandCompositor licensing is changing to GPLv3: https://lists.qt-project.org/pipermail/development/2019-October/037666.html Change-Id: I4bdc1aa5914e53ac760acc2b6453355af636baa9 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io> Reviewed-by: Johan Helsing <johan.helsing@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * | Merge remote-tracking branch 'origin/5.13' into 5.14Qt Forward Merge Bot2019-10-121-4/+12
| |\| | | | | | | | | | Change-Id: If684b523436a1beec36a137c73c5c39c948f87e3
| | * Compositor: Remove unused local variableJohan Klokkhammer Helsing2019-10-041-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | Was shadowed in 11f2e7df5 when fixing QTBUG-78969. Task-number: QTBUG-78969 Change-Id: I933373b5233ae8b45cdab7c3ffd14a1502486ae8 Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
| | * Compositor: Fix crash when trying to maximize an XdgToplevel with no outputJohan Klokkhammer Helsing2019-10-041-3/+12
| | | | | | | | | | | | | | | | | | Fixes: QTBUG-78969 Change-Id: I4ecde3725b5307251070e331c97d96df328a3772 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | | Compositor: Print XDG_RUNTIME_DIR and socketname when socket creation failsJohan Klokkhammer Helsing2019-10-181-2/+2
| | | | | | | | | | | | | | | Change-Id: I652e58ae537103b6f97bc74ba2aca6a75b3a7e6b Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
* | | Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2019-10-121-2/+4
|\| | | | | | | | | | | Change-Id: Ia858f86e6a281f03bea17d0cc6bca300833ccda3
| * | Merge remote-tracking branch 'origin/5.13' into 5.14v5.14.0-beta1Qt Forward Merge Bot2019-10-011-2/+4
| |\| | | | | | | | | | Change-Id: Ie236fa47c23456b15414c3b3e89568b915979ebe
| | * Client: Don't crash with long window titles using UTF-16 charactersJohan Klokkhammer Helsing2019-09-251-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, we set the max length in QString character length, which means UTF-16 characters (of potentially three bytes) counts as one character. The max limit of libwayland, however, is in bytes (and the string itself is converted to UTF-8). Fix it by dividing the character limit by three because in the worst case each UTF-16 character will use three bytes when UTF-8 encoded. Fixes: QTBUG-78478 Change-Id: Idf4721894e0fe6f3cd92bdc6ada7b0ea4199ea63 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | | Add missing config tests for wayland, glx, xcompositeJoerg Bornemann2019-10-082-9/+73
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The intention of 9e87541 was to inline all the tests and delete the rest. Unfortunately, some tests were deleted without being inlined, which led to the tests failing, which in turn led to nothing being built. This was not detected by coin, as configure currently passes although nothing is built. Fixes: QTBUG-79057 Change-Id: Ib09538ebf4b2d369d0fc1087f4b8fbea93d8c5b3 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | | Make qtwaylandscanner accept named arguments and add --add-includePaul Olav Tvete2019-10-081-14/+43
| | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-78177 Change-Id: I275cd815e0fe737af94fc46580ec9756eba54451 Reviewed-by: Johan Helsing <johan.helsing@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | | Remove $PWD from compositor plugin .pro filesJohan Klokkhammer Helsing2019-10-016-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's not needed and the CMake conversion scripts doesn't handle it properly. Furthermore, we already use a mix of the $PWD style vs. the non $PWD-style, so this makes things more consistent as well. Task-number: QTBUG-78177 Change-Id: I23c17494506469881bc7539a941c82c65843a413 Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
* | | Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2019-10-011-1/+12
|\| | | | | | | | | | | Change-Id: Ib52352036df229b4047d0c19f713ae2436741993
| * | Client: Create context menu event when pressing the menu keyDavid Edmundson2019-09-271-1/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Effectively is a copy of the code in XCB. When the menu key is pressed, a context menu event should be generated at the current cursor position. The global position in the event isn't truly global as that doesn't exist in wayland but should match client expectations. Change-Id: Ib814883aba632ca5eec58730846e1762b680467f Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | | Rename compositor plugin targetsJohan Klokkhammer Helsing2019-09-3012-1/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | When we switch to CMake, plugin names need to be unique, otherwise we will get errors. Task-number: QTBUG-78177 Change-Id: I8a82da107260caaf23015ad275ab31ce34319771 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | | Use new ifdef style for accessibility_atspi_bridgeJohan Klokkhammer Helsing2019-09-211-2/+2
| | | | | | | | | | | | | | | Change-Id: I9537017198ef3be862b22b2ed893f9438dc92b65 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | | Convert most config tests to configure.json inline formatJohan Klokkhammer Helsing2019-09-202-9/+129
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | And remove the now unused entries in config.tests. Now only the wayland-scanner test remains, as that uses qmake features that do not easily translate to the inline format. This makes it much easier to port QtWayland to cmake. This also removes some config.tests that weren't used. Task-number: QTBUG-78177 Change-Id: Ia21a0025f9fac45b9f4815ee0f196e9e5759cdc6 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | | Use QGenericUnixTheme to provide themesJan Grulich2019-09-171-34/+2
|/ / | | | | | | | | | | | | | | | | This makes wayland platform plugin to use same platform themes as xcb plugin, which also can load platform theme plugin for apps running in Gnome. Change-Id: I9f4e3504d153e26c5580d9e33443d8a11201cd52 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | Compositor: Expose QPointF version of inputRegionContainsJohan Klokkhammer Helsing2019-09-162-7/+2
| | | | | | | | | | | | | | | | | | QWaylandSurface::inputRegionContains(const &QPointF) was added in a patch release. Expose it here and start testing it. Task-number: QTBUG-77457 Change-Id: I9e5e487e1d93a2b1873a7e219eed9ef6b0a418b5 Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
* | Merge remote-tracking branch 'origin/5.13' into 5.14Johan Klokkhammer Helsing2019-09-1631-131/+172
|\| | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/client/qwaylanddatadevice.cpp src/client/qwaylandinputcontext.cpp src/client/qwaylandinputdevice.cpp src/client/qwaylandwindow.cpp src/compositor/compositor_api/compositor_api.pri src/compositor/compositor_api/qwaylandquickitem.cpp Change-Id: Ice0d8c7d869c9c46113d6ee6ba3adf895a71d58f
| * Fix detection of wayland-kms supportYuya Nishihara2019-09-151-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We get around the "private" symbol found in wayland-kms.h by substituting it with "priv", but doing that breaks the "private:" keyword in type_traits.h. So this patch forcibly includes math.h prior to s/private/priv/. main.cpp:3:17: error: ‘priv’ does not name a type #define private priv ^ In file included from /opt/poky-agl/5.0.3/sysroots/aarch64-agl-linux/usr/include/c++/6.3.0/cmath:43:0, from /opt/poky-agl/5.0.3/sysroots/aarch64-agl-linux/usr/include/c++/6.3.0/math.h:36, from /opt/poky-agl/5.0.3/sysroots/aarch64-agl-linux/usr/include/wayland-util.h:34, from /opt/poky-agl/5.0.3/sysroots/aarch64-agl-linux/usr/include/wayland-server-core.h:32, from /opt/poky-agl/5.0.3/sysroots/aarch64-agl-linux/usr/include/wayland-kms.h:38, from main.cpp:4: /opt/poky-agl/5.0.3/sysroots/aarch64-agl-linux/usr/include/c++/6.3.0/ext/type_traits.h:71:24: error: ‘__if_type’ has not been declared typedef typename __if_type::__type __type; ^~~~~~~~~ main.cpp:3:17: error: ‘priv’ does not name a type #define private priv ^ In file included from /opt/poky-agl/5.0.3/sysroots/aarch64-agl-linux/usr/include/c++/6.3.0/cmath:43:0, from /opt/poky-agl/5.0.3/sysroots/aarch64-agl-linux/usr/include/c++/6.3.0/math.h:36, from /opt/poky-agl/5.0.3/sysroots/aarch64-agl-linux/usr/include/wayland-util.h:34, from /opt/poky-agl/5.0.3/sysroots/aarch64-agl-linux/usr/include/wayland-server-core.h:32, from /opt/poky-agl/5.0.3/sysroots/aarch64-agl-linux/usr/include/wayland-kms.h:38, from main.cpp:4: /opt/poky-agl/5.0.3/sysroots/aarch64-agl-linux/usr/include/c++/6.3.0/ext/type_traits.h:114:24: error: ‘__if_type’ has not been declared typedef typename __if_type::__type __type; ^~~~~~~~~ Change-Id: I2b42f37d5565833adcc065725119ab4912da82b0 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
| * If egl_x11 is not available then don't turn on xcomposite-eglAndy Shaw2019-09-131-1/+1
| | | | | | | | | | | | | | | | Since xcomposite-egl depends on the egl_x11 feature in qtbase, then this should be explicit. Change-Id: Ic1dce9526fb50f6f56e18abd58b69bcaed6d204e Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| * Client: Fix touch rounding errorsJohan Klokkhammer Helsing2019-09-092-7/+13
| | | | | | | | | | | | | | | | | | Touch now accounts for fractional input in the same way as for pointer input. Task-number: QTBUG-77457 Change-Id: I18e633bf7c7033187a641f757b8b24f52479971a Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| * Merge "Merge remote-tracking branch 'origin/5.12' into 5.13"Qt Forward Merge Bot2019-09-0823-101/+107
| |\
| | * Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-09-0823-101/+107
| | |\ | | | | | | | | | | | | Change-Id: I5d587b79b96d2b44f1975419a658c259c63fa30d
| | | * Merge remote-tracking branch 'origin/5.12.5' into 5.12Qt Forward Merge Bot2019-09-072-1/+12
| | | |\ | | | | | | | | | | | | | | | Change-Id: Ic73262146f51a9e7f4ffab46511654ad70c4f514
| | | | * Merge remote-tracking branch 'qt/5.12' into 5.12.5Paul Olav Tvete2019-08-237-31/+39
| | | | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/client/qwaylandwindow.cpp Change-Id: I89fefe5bfc247eeaad3981850efa0faaab3cb145
| | | | * | Client: Make handleUpdate aware of exposure changesDavid Edmundson2019-08-212-1/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The wl_surface can be destroyed whilst a render is happening. Calling wl_surface::frame after the window is reset can crash as wl_surface is null. Fixes: QTBUG-77747 Change-Id: I139a9b234cb6acba81d6c1d5fa58629904a25053 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| | | * | | Compositor: Fix various input-related rounding errorsJohan Klokkhammer Helsing2019-09-064-15/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QPointF::toPoint (which is what the QPoint versions of the events use internally) uses qRound, which is not the right kind of rounding to use with the QRegion we use for the input region. This switches to use QPointF variants instead of QPoint wherever possible, and then the correct conversion (with qFloor) is done once in the new QPointF version of QWaylandSurface::inputRegionContains(). The compositor inputRegion test has now been updated to test the new API. [ChangeLog][Compositor] Fixed various rounding errors related to touch and mouse input. Fixes: QTBUG-77457 Change-Id: Ife2365abd56a239c34eee91310ab0e698a50d4ff Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io> (cherry picked from commit 7f189ec10a9b3e9825dda30d3a8f86ee2e07b97f) Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
| | | * | | Fix deadlock in QWaylandWindow::waitForFrameSyncPavel Tumakaev2019-09-041-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Calling the QOpenGLContext::swapBuffers from QGuiApplicationPrivate::processExposeEvent in some cases leads to recursive calls of QWaylandWindow::waitForFrameSync. Since the mWaitingForFrameCallback check in WaylandWindow::waitForFrameSync is performed after the mutex is locked, the QMutexLocker tries to lock the mFrameSyncMutex mutex in every recursive call, that leads to a deadlock. This patch moves the performing of the mWaitingForFrameCallback check before locking the mutex. Change-Id: Ia2d834b7dd03fcd91bbe29a3a897b4db2d155527 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
| | | * | | Client: Refactor touch handling and fix various bugsJohan Klokkhammer Helsing2019-08-292-60/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rename mTouchPoints to mPendingTouchPoints, to clarify that they're the accumulated state so far, which will be applied with the wl_touch.frame event. QWaylandInputDevice::Touch::mPrevTouchPoints is no longer needed and has been removed. Fixes the following issues with the old approach: - touchPointsReleased() only checked mTouchPoints, which was cleared on touch_frame and populated again on touch_motion and touch_down, which meant that it could return true even though there were still touch points left. Leading to the workaround for missing wl_touch.frame events on Weston being triggered to often. - Touch focus was cleared on any wl_touch.up event, not just the last one. - The order of the touch events was not stable and relied on the order of the events (QTBUG-77014). Fixes: QTBUG-77014 Change-Id: Ic3ecdc87e77b0e0276afefd127ad2b965142cbd4 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
| | | * | | Client: Don't freeze in QDrag::exec if there was no drag focusJohan Klokkhammer Helsing2019-08-293-10/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | af00b801 fixed a crash when starting a drag without a valid focus, but there is still a problem, because QDrag::exec will never return because it's waiting indefinitely in an event loop. - QWaylandDataDevice::startDrag can now fail by returning false. - When starting a drag fails, we cancel the drag through QWaylandDrag::cancelDrag wrapped in invokeMethod. - Also, don't unnecessarily create a data_source if we cannot start a drag. [ChangeLog][QPA plugin] Fixed a freeze that happened when starting a drag-and-drop operation without a valid source surface. Change-Id: Iea19b0c92c196a44d1274a966bee4ff519632d34 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| | | * | | Make QT_WAYLAND_COMPOSITOR_QUICK a featureUlf Hermann2019-08-2916-28/+29
| | | | |/ | | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The define was only set when building Qt, not when including public headers in application code. Therefore, the sizes of objects did not match between the client code that calls new and the constructor inside Qt. Unfortunately, adding the additional members breaks binary compatibility. This has already happened between 5.11 and 5.12. It just wasn't apparent from the headers. If we removed the members again now, we would break binary compatibility again. Therefore, the best course of action seems to be acknowledging the break and adding the members also in the headers. [ChangeLog][Compositor][Important Behavior Changes] Between version 5.11 and 5.12 binary compatibility for the wayland compositor module was broken by adding an additional member to various classes. This was not apparent from user code as the member was behind an #ifdef which would only be set while compiling Qt. As several versions of Qt incompatible to 5.11 have already been released now, rolling back the incompatible change would introduce further incompatibility. Therefore, the change is made consistent by unconditionally adding the member to the headers. Fixes: QTBUG-75677 Change-Id: I3c1ee309ad8e0cd0b6389a76fd1d91e6e2be495c Reviewed-by: Johan Helsing <johan.helsing@qt.io> Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| * | / | Client: Disable key repeating when rate is set to 0David Edmundson2019-09-081-1/+1
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | From the docs of repeat_info: "A rate of zero will disable any repeating (regardless of the value of delay)." Avoiding starting the initial timer effectively disables everything Change-Id: I7489f61b2bc0e000efddb4255f1968072eeff2b8 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
| * | | Compositor: Fix various input-related rounding errorsJohan Klokkhammer Helsing2019-09-054-15/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QPointF::toPoint (which is what the QPoint versions of the events use internally) uses qRound, which is not the right kind of rounding to use with the QRegion we use for the input region. This switches to use QPointF variants instead of QPoint wherever possible, and then the correct conversion (with qFloor) is done once in the new QPointF version of QWaylandSurface::inputRegionContains(). The compositor inputRegion test has now been updated to test the new API. [ChangeLog][Compositor] Fixed various rounding errors related to touch and mouse input. Fixes: QTBUG-77457 Change-Id: Ife2365abd56a239c34eee91310ab0e698a50d4ff Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| * | | Client: Don't spam stderr about ignored window statesJohan Klokkhammer Helsing2019-09-032-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since it is not supported by the protocol, neither we, nor the application developer can do anything about it. Change it from warning to debug so it only shows up when enabled. Task-number: QTBUG-76061 Change-Id: I81420e0c72a9e9652f6592d65c70c7df1e5725b9 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io> Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
| * | | Client: Adjust for window border when setting text-input cursor rectJohan Klokkhammer Helsing2019-09-031-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | set_cursor_rectangle takes wl_surface coordinates, but we sent window coordinates. Fixes: QTBUG-77987 Change-Id: Ia0bf98f9749723128bec27c3c607d1ccde2d5fd3 Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
* | | | Add missing Q_REVISION(14) for inhibitsIdleChangedJohan Klokkhammer Helsing2019-09-131-1/+1
| | | | | | | | | | | | | | | | | | | | Change-Id: Ia5aecffde9601d7249de3009910ce7fe0fed0abe Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
* | | | Compositor: Add missing \since doc tags for inhibitsIdle propertiesJohan Klokkhammer Helsing2019-09-131-0/+2
| | | | | | | | | | | | | | | | | | | | Change-Id: I42056cdc57e9b7093f17825502103f1f434850d5 Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
* | | | Improve QWaylandQuickShellIntegration APIPier Luigi Fiorini2019-09-0512-333/+132
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | During the API review we came up with an improved API. QWaylandQuickShellIntegration now filter events delivered to QWaylandQuickShellSurfaceItem using QObject event filter, thus we don't need a new API anymore. Change-Id: I91b05c4c8ecee56cd782f036160c569cd972abdb Reviewed-by: Johan Helsing <johan.helsing@qt.io>