summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Test the exact window sizePier Luigi Fiorini2019-08-151-2/+6
| | | | | | | | | | Make sure we test exactly the size we expect. We used frameGeometry() to take client-side decoration margins into account, but actually frameMargins() returns exactly that, this means we can compute the actual size that we want to test. Change-Id: I2f41ffdb2aa2e3a4253a1ff7038c4bc2e43cdf98 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* Merge "Merge remote-tracking branch 'origin/5.13' into dev"Liang Qi2019-08-133-19/+22
|\
| * Merge remote-tracking branch 'origin/5.13' into devLiang Qi2019-08-133-19/+22
|/| | | | | | | | | | | | | Conflicts: src/client/qwaylandinputdevice.cpp Change-Id: I20fb102162351b714855258175ed00437e55f072
| * Fix crash when closing windows via XDG sendCloseRobert Griebl2019-08-121-1/+1
| | | | | | | | | | | | | | | | | | This crash only occurs on a few machines running autotests for the application-manager, but it's happening consistently on the affected machines. Change-Id: I4533379580b7c1f62e4f45bf223d73aac3e8d5b7 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| * Fix GCC 4.8 buildVille Voutilainen2019-08-092-18/+21
| | | | | | | | | | Change-Id: I0a193ceaa1549c08acad02b59db62ae313d6b334 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | QWaylandScanner: port from QList to std::vectorMarc Mutz2019-08-031-24/+25
| | | | | | | | | | | | | | | | | | QList is going away in Qt 6, and CoW is not needed, as containers and elements are only ever moved, not copied, and NRVO is in effect everywhere. Change-Id: Ie738da3619f0b8048fbd07e5911db0960133d553 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | QWaylandScanner: tidy upMarc Mutz2019-08-031-81/+79
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change - standardizes on using boolean needsXy to handle join-style omissions of commas or newlines instead of inspecting the index of the element in various forms, which enables - standardize on C++11 ranged for loops instead of indexed loops - use braced initialization for structs, with designators, which are strictly a C++20 feature but are being used in QtWayland already, so should be safe (they originally come from C99). Together, they make the code easier to understand, because the variation of patterns used in the program is reduced. Change-Id: Ib96620a9ecbe4ee47e59290ed758f0ec1bffcfd6 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | Fix typoPier Luigi Fiorini2019-08-031-1/+1
| | | | | | | | | | | | | | | | Correct a typo introduced with 0761173a. Change-Id: I5c101e015c0fbd7de03d26ff3f8629418f070db2 Reviewed-by: David Edmundson <davidedmundson@kde.org> Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | Fix build with Qt 6 and strict API deprecationsSimon Hausmann2019-08-011-1/+1
| | | | | | | | | | | | | | | | | | QList's swap(int i, int j) is deprecated in favor of swapItemsAt() and when building with QT_VERSION == 6 it's removed from the API. Change-Id: I5513d4d879a85369040864cfc9c058f0f3665648 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
* | Port from QMutex::Recursive to QRecursiveMutexMarc Mutz2019-07-312-2/+4
| | | | | | | | | | Change-Id: Id3d7c7e5a62b8f7a7844dab872e16bf2094a5c91 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Merge "Merge remote-tracking branch 'origin/5.13' into dev"Qt Forward Merge Bot2019-07-271-1/+1
|\ \
| * | Merge remote-tracking branch 'origin/5.13' into devQt Forward Merge Bot2019-07-271-1/+1
|/| | | |/ | | | | Change-Id: I64c1a5cabcdad4177aeac35bcd45a4cde8f60165
| * Fix use of private dependencyPier Luigi Fiorini2019-07-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | With 0761173a, Linux SPI Accessibility bridge was added to the Wayland QPA plugin, but this had a bad side-effect to QtWaylandClient. Linux Accessibility support is a private module, this means we have to link to it with QT_PRIVATE not QT, otherwise CMake and pkg-config files for Qt5WaylandClient will depend on it. Change-Id: I6182267f97adc2cd5bd66895df148a6a45614f45 Fixes: QTBUG-76042 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
* | QWaylandScanner: add trailing commas to enumerations and braced initializationMarc Mutz2019-07-251-4/+2
| | | | | | | | | | | | | | | | This is allowed since C++11, and K&R C, resp., and doing so simplifies the code. Change-Id: I4bf5bc50b46c6b811ec386b92bfb0a7529a32645 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* | QWaylandCursor: replace a static QMap with a C arrayMarc Mutz2019-07-231-4/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The content of the QMultiMap cursorNameMaps is static, so using a dynamic container is overkill. Replace the map by a (sorted) C array of struct {Key, Value}, and use std::equal_range to find matching cursors. This also avoids the creation of a QList on each call (due to the use of QMap:values() instead of QMap::equal_range), as well as the creation of QByteArrays, which the underlying wayland C API doesn't know about, anyway. The entries were already sorted, so the initializer_list stays the same. Add an assert that the list is ordered. Since this is library code, don't use the attractive struct { WaylandCursor, const char *name }, as that causes relocations that delay the loading of the shared object, and make sharing of the data between processes impossible. This wastes some memory, due to all the NUL padding up to the common maximum, and the next alignment step, but can be optimized later when someone writes a C++-only version of Q_STRINGTABLE. Even so, this saves 10.5KiB in text size on optimized AMD64 Linux GCC 9.1 builds. Change-Id: I19fa1742e2fcaf9de74af1e5908e796b0588d507 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* | QWaylandCompositor: replace a heap-allocating QList with std::vectorMarc Mutz2019-07-182-2/+4
| | | | | | | | | | | | | | QPointer is larger than void*. Change-Id: I144104a71eef1d023d20d3a024960c429bad6827 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* | Port from implicit to explicit atomic operationsMarc Mutz2019-07-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | The old code used the implicit conversions from QAtomicInteger<T> to T, and vice versa. The semantics of these differ from the ones std::atomic uses, so we're going to deprecate these, like we did for load() and store(), too. This patch fixes some users of these APIs before we deprecate them. Change-Id: Iab07e00d5f59d5de73233571bca723f94f76a265 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Merge "Merge remote-tracking branch 'origin/5.13' into dev"Qt Forward Merge Bot2019-07-164-31/+82
|\ \
| * | Merge remote-tracking branch 'origin/5.13' into devQt Forward Merge Bot2019-07-164-31/+82
|/| | | |/ | | | | Change-Id: Id4304c7244dd1580d5bb18451e3dda5dabe6bcb3
| * Merge "Merge remote-tracking branch 'origin/5.12' into 5.13"Qt Forward Merge Bot2019-07-113-31/+81
| |\
| | * Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-07-113-31/+81
| | |\ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf Change-Id: I436405677453e7df43258363c0d5c88d7b3790d0
| | | * Fix compilation with C++20Marc Mutz2019-07-081-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implicit capture of 'this' in [=] is deprecated in C++20. Fix by using explicit captures. Change-Id: Ie3a94ec60d7c56b2856d201fa3d68d0670bdd7b9 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
| | | * Bump versionFrederik Gladhorn2019-07-011-1/+1
| | | | | | | | | | | | | | | | Change-Id: If69992b414824405267ea0d8c20b9f1bd996944b
| | | * Client: Reset frame callback timer when hiding a windowDavid Edmundson2019-07-011-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If we hide a window whilst a compositor has a pending frame to show, it's possible the compositor will not render the frame and not return the callback. If this happens on the next window expose we can be left with mFrameCallbackTimedOut still true causing isExposed() to remain false and us to not send the next buffer when we later show the window again. Change-Id: I507410415d1a930fd5fa736412055e68fdf6c1d3 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
| | | * Client: Fix stuttering when the GUI thread is busyJohan Klokkhammer Helsing2019-06-202-29/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When we did invokeMethod for handling the frame callbacks, we had to wait for the GUI thread to finish whatever it's doing before we would stop blocking. Fix it by clearing the frame callback timer and stop blocking immediately, while delaying the rest of the work until it can be run on the other thread. Fixes: QTBUG-76397 Change-Id: I343e4feac4838926b4fa2ccac2948988bc6c3bb7 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| | | * Merge "Merge remote-tracking branch 'origin/5.12.4' into 5.12"Qt Forward Merge Bot2019-06-172-1/+41
| | | |\
| | | | * Merge remote-tracking branch 'origin/5.12.4' into 5.12Qt Forward Merge Bot2019-06-172-1/+41
| | | |/| | | | | | | | | | | | | | | | Change-Id: I7ad83f19cf9f47b40088a56d4182514bf5b83508
| | | | * Client: Don't add all windows to activePopupsv5.12.4Johan Klokkhammer Helsing2019-06-062-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Neither Qt::ToolTip nor Qt::Popup are single bits in Qt::WindowFlags, and do in fact include Qt::Window. This meant that when we or'ed them and did a bitwise and with QWindow::type(), we would match more types than just Qt::Popup and Qt::ToolTip. We would for instance get any Qt::Window as well, which meant the main window would be added to activePopups, leading to strange things happening, such as crashes and the main window closing unexpectedly. [ChangeLog][QPA plugin] Fixed a crash when closing multiple popups at once. Fixes: QTBUG-76124 Change-Id: I1a6a59e161a436604a7ac8ab824396481dc99a20 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io> (cherry picked from commit af9ec8a76d7e62444fadb518256fc58723fe5186)
| | | | * Add changes file for Qt 5.12.4Johan Klokkhammer Helsing2019-05-281-0/+39
| | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I3402a5297448aa4f4e0703ffbae897f00f0f6577 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| | | | * Bump versionFrederik Gladhorn2019-05-231-1/+1
| | | | | | | | | | | | | | | | | | | | Change-Id: I76df7709ee1e21440c647a4419900800edfacac2
| * | | | Doc: Replace example file lists with links to code.qt.ioTopi Reinio2019-07-091-0/+1
| |/ / / | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-74391 Change-Id: Iac93aa49419d8485fcc2076136c190533782e188 Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* | | | QWaylandShmBackingStore: replace a QLinkedList with std::listMarc Mutz2019-07-123-9/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ...and mark the module QLinkedList-free. QLinkedList is going to be deprecated. Change-Id: Ieb9efef24cd8677edc1262f22b7c6d41b6376347 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | | | Merge "Merge remote-tracking branch 'origin/5.13' into dev"Qt Forward Merge Bot2019-07-091-1/+1
|\ \ \ \
| * | | | Merge remote-tracking branch 'origin/5.13' into devQt Forward Merge Bot2019-07-091-1/+1
|/| | | | | |/ / / | | | | | | | | Change-Id: Ia74c2459057ef681b59a3201cab34168016e78d0
| * | | Fix compilation with C++20Marc Mutz2019-07-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Designated initializers (a C99 feature) made it into C++20, but the current code, which, presumably, was using a GCC extension, ran afoul of the rule that either all initializers must be designated ones, or none. Fix by naming the .plane member, too. Change-Id: Id302787331cfe0f2976250ec2c6b86a6946c8016 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* | | | Merge "Merge remote-tracking branch 'origin/5.13' into dev"Qt Forward Merge Bot2019-07-044-2/+124
|\ \ \ \
| * | | | Merge remote-tracking branch 'origin/5.13' into devQt Forward Merge Bot2019-07-024-2/+124
|/| | | | | |/ / / | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf src/client/qwaylanddatadevice.cpp Change-Id: I1cc8640b68eba5dfb560749dfe679741ee62e6ad
| * | | Bump versionFrederik Gladhorn2019-07-011-1/+1
| | | | | | | | | | | | | | | | Change-Id: Ib38bf7b8a1c8062696849c455c3974051bac6cb6
| * | | Merge "Merge remote-tracking branch 'origin/5.13.0' into 5.13"Qt Forward Merge Bot2019-06-202-0/+119
| |\ \ \
| | * | | Merge remote-tracking branch 'origin/5.13.0' into 5.13Qt Forward Merge Bot2019-06-202-0/+119
| |/| | | | | | | | | | | | | | | | | | Change-Id: I3b0e0899cfcd738ddf45b4211f86e1079d6e4988
| | * | | Client: Don't add all windows to activePopupsv5.13.0-rc3v5.13.0-rc2v5.13.0Johan Klokkhammer Helsing2019-06-062-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Neither Qt::ToolTip nor Qt::Popup are single bits in Qt::WindowFlags, and do in fact include Qt::Window. This meant that when we or'ed them and did a bitwise and with QWindow::type(), we would match more types than just Qt::Popup and Qt::ToolTip. We would for instance get any Qt::Window as well, which meant the main window would be added to activePopups, leading to strange things happening, such as crashes and the main window closing unexpectedly. [ChangeLog][QPA plugin] Fixed a crash when closing multiple popups at once. Fixes: QTBUG-76124 Change-Id: I1a6a59e161a436604a7ac8ab824396481dc99a20 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io> (cherry picked from commit af9ec8a76d7e62444fadb518256fc58723fe5186)
| | * | | Client: Don't crash when the cursor theme fails to loadv5.13.0-rc1Johan Klokkhammer Helsing2019-05-211-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes: QTBUG-75920 Change-Id: I29d84b487afb2a90b8a633abce2fcc39ca75adae Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io> Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
| | * | | Add changes file for Qt 5.13.0v5.13.0-beta4Johan Klokkhammer Helsing2019-05-101-0/+111
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I35b995cc2273a285b0c89be86841b5d38630b493 Reviewed-by: Johan Helsing <johan.helsing@qt.io> Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io> Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| * | | | Doc: Fix link errorsNico Vertriest2019-06-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I3854d7310259d1ce9f474d09f2b6dfdfbca8434a Reviewed-by: Paul Wicking <paul.wicking@qt.io>
| * | | | Merge "Merge remote-tracking branch 'origin/5.12' into 5.13"Qt Forward Merge Bot2019-06-151-1/+4
| |\ \ \ \
| | * | | | Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-06-151-1/+4
| |/| | | | | | | |/ / | | |/| | | | | | | Change-Id: I3b4132c4824a5312e7af0ca5659bd34269cb02fe
| | * | | Don't crash if we start a drag without dragFocusAleix Pol2019-06-141-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sometimes origin will be nullptr, triggering a crash. [ChangeLog][QPA plugin] Fixed a crash that sometimes happened when starting a drag-and-drop operation. Fixes: QTBUG-76368 Change-Id: I8f4e6b05f073644834c3c72a8307dac5b897f626 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | | | | Remove usages of deprecated QLatin1LiteralSona Kurazyan2019-06-252-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-76491 Change-Id: I8f96c049e134843e4eb2bffef6274497eca8b5cf Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | | | | Mark the module as free from Java-style-iterators, so it stays that wayMarc Mutz2019-05-231-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: Ic8a10575a30f32a8eed6982d636feb4be2f6917e Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | | | | Mark the module Q_FOREACH-free, so it stays that wayMarc Mutz2019-05-171-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I2b593069a6da8cc5f4c7057f48c3e5fa42c27b9c Reviewed-by: Johan Helsing <johan.helsing@qt.io>