summaryrefslogtreecommitdiffstats
path: root/src/client
Commit message (Collapse)AuthorAgeFilesLines
* 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>
* 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>
* Client: Don't add all windows to activePopupsJohan Klokkhammer Helsing2019-06-051-1/+1
| | | | | | | | | | | | | | | 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>
* Client: Full implementation for frame callbacks (second try)Johan Klokkhammer Helsing2019-04-244-33/+205
| | | | | | | | | | | | | | | | | | | | | | | | | The Wayland plugin now takes full control over delivering update request and implement frame callbacks for both egl and shm. [ChangeLog][QPA plugin] The non-blocking version of eglSwapBuffers is now used, if supported. This fixed a bug where minimized windows would block the event loop. [ChangeLog][QPA plugin] Windows that don't get frame callbacks from the compositor within 100 ms are now set as not exposed. This should stop most clients from rendering unnecessary frames to minimized or hidden windows. Also, when we relied on the QPA version of requestUpdate, we would sometimes deliver one update request while we were waiting for a frame callback. When we implement the fallback timer ourselves we can make sure we only deliver the fallback if there are no pending frame callbacks. QtQuick and other applications often depend on blocking swapBuffers to throttle animations. If the context's surface format has a non-zero swapInterval, try to emulate a blocking swap. Fixes: QTBUG-69077 Change-Id: I3c6964f31a16e9aff70b8ec3c5340e640a30fef2 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Client: Don't be exposed if we want to create a sub or shell surfaceJohan Klokkhammer Helsing2019-04-083-13/+24
| | | | | | | | | Because some shells don't allow attaching buffers before configure, we need to not be exposed until we know that we don't want a shell surface. Change-Id: Ida7101a99f953d02cf6401e4ea8d28cfabd6e102 Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com> Reviewed-by: David Edmundson <davidedmundson@kde.org>
* Client: Fix incorrect damage region for window decorationsJohan Klokkhammer Helsing2019-03-141-5/+10
| | | | | | | | | | | | | The previous implementation had gaps in several places. [ChangeLog][QPA plugin] Fixed a bug where the window decoration's damaged area didn't cover the entire decoration. This meant some compositors would not redraw those areas. Change-Id: Ic72663dde301936635b2a1cfa90570a53227e8ea Fixes: QTBUG-74341 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io> Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
* Fix the build with -no-guiLiang Qi2019-02-251-0/+1
| | | | | | Change-Id: I9ff6ac4e33e89691e06965515a54e91a831b7a0a Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Client xdg-shell: Fix crash when switching popupsJohan Klokkhammer Helsing2019-02-121-7/+2
| | | | | | | | | | | | | | | | | | | | | | | | The call to flushWindowSystemEvents() sometimes caused new popups to be shown in the middle of hiding another. I.e. if multiple events show and hide surfaces, they would be shown/hidden in opposite order of their corresponding events. QMenus sometimes suffered from this (can be seen with the qopenglwidget example from qtbase). When the flush was added 5 years ago in 50f43a0c5, it was to "reduce the chances of seeing a bad frame". I don't see any rendering artifacts, though, and I can't find any bug report on it. So let's hope it's safe to remove the hack. [ChangeLog][QPA plugin] Fixed a crash that sometimes happened when switching popups. Also adds more info to the workaround warning message that appears when a popup grab is attempted and there already is another grabbing popup that is not the parent. Fixes: QTBUG-73524 Change-Id: Ibfcbb48c4bbe295c2be1a30add2d7e05cad398c5 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Revert "Client: Full implementation for frame callbacks"Johan Klokkhammer Helsing2019-01-082-96/+20
| | | | | | | | | | | | | | | | This caused regressions because QtQuick depends on swapBuffers for throttling animations. We probably need to emulate a blocking swapBuffers and continue after a timeout, but until we have a patch for this, revert this to avoid releasing a regression. This brings back the bug with a frozen event loop when a surface is waiting for a frame callback, but this is preferable to a regression. This reverts commit 1dc85b95ab0adc1e805d059e2c35c671ef790011. Fixes: QTBUG-72578 Change-Id: If6435a947aae5e9fd775404649a392bfafe9130a Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* wl_eglstream_controller implementation for NVIDIAPaul Olav Tvete2019-01-081-0/+2
| | | | | | | | | | | | | | This adds a new client buffer integration: wayland-eglstream-controller, which contains the EGLStream logic from wayland-egl, and additionally uses NVIDIA's wayland-eglstream-controller protocol to avoid the issue where the stream is not ready at the time of first buffer attach. This is not enabled by default. Can be used like this: QT_WAYLAND_CLIENT_BUFFER_INTEGRATION=wayland-eglstream-controller ./pure-qml Fixes: QTBUG-71697 Change-Id: I73bb2a8fe9852afe1b5807cbb8c35dc4c7624dad Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* Client: Don't assume windows have surfaces in QWaylandInputContext::updateJohan Klokkhammer Helsing2019-01-031-7/+16
| | | | | | Fixes: QTBUG-72751 Change-Id: I6018a34d4a4cfcbdef5d6cd05d2d4ef12846efea Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Client: Fix incorrect damage for decoration edgesJohan Klokkhammer Helsing2019-01-031-1/+2
| | | | | | | | | [ChangeLog][QPA plugin] Fixed a bug where surface damage for window decorations was outside the surface. Fixes: QTBUG-72818 Change-Id: I32d00174f1c308952a98bdb55731eb77be54f331 Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
* Client: Fix various input related crashes for events without focusJohan Klokkhammer Helsing2019-01-021-14/+25
| | | | | | | | | | | | | | | | | | | | | | | Some compositors fail to send wl_pointer.enter events before button and axis events. This led to nullptr dereference crashes. [ChangeLog][QPA plugin] Fixed a crash caused by compositors sending incorrect pointer events. Fix it by adding nullptr checks before trying to access the pointer focus in case the compositor didn't send enter, or if something deleted the surface (it's a QPointer). This means we are now silently ignoring events for misbehaving compositors (which is probably not optimal), but I don't see how we can easily distinguish between a missing enter and a deleted QWaylandSurface without adding more bookkeeping overhead. Ditto for wl_keyboard. Fixes: QTBUG-72235 Change-Id: I4bfaa3da4ebae37b059e1e450975566559edf40b Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
* Client xdg-shell: Fix protocol error for tooltips on popupsJohan Klokkhammer Helsing2018-12-261-1/+1
| | | | | | | | | | [ChangeLog][QPA plugin] Fixed a protocol error that used to happen when closing a menu with an active tooltip. Fixes: QTBUG-71734 Change-Id: I784fef08494fabaa4debea11f51116cf9de1f86e Reviewed-by: David Edmundson <davidedmundson@kde.org> Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
* Client: Full implementation for frame callbacksJohan Klokkhammer Helsing2018-12-132-20/+96
| | | | | | | | | | | | | | | | | | | The Wayland plugin now takes full control over delivering update request and implement frame callbacks for both egl and shm. Fixes two bugs: [ChangeLog][Client] The non-blocking version of eglSwapBuffers is now used. This fixed a bug where minimized windows would block the event loop. Also, when we relied on the QPA version of requestUpdate, we would sometimes deliver one update request while we were waiting for a frame callback. When we implement the fallback timer ourselves we can make sure we only deliver the fallback if there are no pending frame callbacks. Fixes: QTBUG-69077 Change-Id: I2d3a6896c32e63d8520b57448a3601a817816a91 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* use new feature name xkbcommon_evdev -> xkbcommonGatis Paeglis2018-12-053-18/+18
| | | | | | | | | 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>
* Fix compilation with gcc 4.8Ville Voutilainen2018-12-041-0/+5
| | | | | | | | | | 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>
* 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 spam expose eventsJohan Klokkhammer Helsing2018-10-262-1/+5
| | | | | | | | 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-263-2/+27
| | | | | | | | | | | | | | | | | 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 cursor size becoming bigger and bigger when switching screensJohan Klokkhammer Helsing2018-10-081-3/+4
| | | | | | | | | | | cursorSize was a static which was multiplied with the dpr each time loadCursorSize was called resulting in a bigger and bigger cursor size. Fix it by making the static constant. Change-Id: Ie23cf0cc0d6c13721feecebe214d7c794be35077 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io> Reviewed-by: David Edmundson <davidedmundson@kde.org>
* Avoid spurious move events after configure callDavid Edmundson2018-10-031-1/+1
| | | | | | | | | | | | | | | | | Whilst wayland can't actually move the window in a QWindow::setGeometry call the previous behavior was to keep it so that it appeared to the client that it had moved. The new behavior is non-consistent, QWindow::setPosition will update QWindow::position until the first configure call is received at which point it will move back to 0,0. This then generates a QMoveEvent for the window that hasn't moved. This patch keeps the QWindow::position consistent with the user request and doesn't generate move events. Change-Id: Ifb1433b3902d44c1b2e43036bc1805a6e00128fb Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* Client: Remove failing assert on compositors without wl_data_deviceJohan Klokkhammer Helsing2018-10-031-1/+0
| | | | | | | | | Some compositors don't advertise wl_data_device_manager support, and the client has no control over this, so the assertion doesn't make sense. Returning nullptr in that case should be fine. Change-Id: If0b145326d074ea4ebf8f5a12654962d56012a2d Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Add server buffer integration using Linux dma-bufPaul Olav Tvete2018-09-211-0/+11
| | | | | | Fixes: QTBUG-70494 Change-Id: Iaa4990fe9d39a1f9fb81f5e5f19039aa2e52dcac Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* Remove unnecessary function declarationJohan Klokkhammer Helsing2018-09-171-5/+0
| | | | | Change-Id: I55a7b579babfa99707e3e4b4cf15c34f48459825 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Don't include wayland-client-core.hJohan Klokkhammer Helsing2018-09-141-1/+1
| | | | | | | | It requires libwayland 1.8 and we're supposed to support versions as old as 1.6 Task-number: QTBUG-70528 Change-Id: Iff4c2542d103d53aba8db99ecceddfccb79cfcb6 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Create feature wayland-shm-emulation-server-bufferJohan Klokkhammer Helsing2018-09-101-1/+7
| | | | | | | | | And make OpenGL a requirement, in order to make builds without OpenGL work again. Fixes: QTBUG-69779 Change-Id: Iff1153b0aaca8e115f47c59c2ceb028e638e3fe9 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Prefix and suffix server buffer integrationsJohan Klokkhammer Helsing2018-09-101-4/+4
| | | | | | | | | [ChangeLog][Compositor] Features for server buffer integrations have been renamed. "drm-egl-server" is now "wayland-drm-egl-server-buffer" and "libhybris-egl-server" is "wayland-libhybris-egl-server-buffer". Change-Id: I06a9d1b1c9219c88045fe966be134ff072cd756e Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Client: Fix regression; drawing decorations of active windows as inactiveJohan Klokkhammer Helsing2018-08-284-0/+12
| | | | | | | | | | | | We can't trust QWindow::isActive, because it relies on focusWindow, which may be updated too late, and there might also be multiple active toplevel windows at once on Wayland. Even though Qt doesn't support multiple seats, we should still draw the decorations of active windows correctly. This implements QPlatformWindow::isActive and uses it in the decorations. Change-Id: I34d79b354e2d26694533e2319a26f24085212243 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Merge remote-tracking branch 'origin/5.11' into 5.12Qt Forward Merge Bot2018-08-251-0/+1
|\ | | | | | | Change-Id: Ib6d23655a5c9ee059a9560e862d38746f508caee
| * Client: Clear entered screens when resetting windowJohan Klokkhammer Helsing2018-08-171-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, windows that were hidden and shown again would have the old list of entered screens. Aside from occasionally getting the current screen wrong, this also polluted the log with bogus warnings about unexpected enter events. This problem could be seen quite easily by opening, closing and opening a menu. [ChangeLog][QPA plugin] Fixed a bug where a window that was hidden and then shown on different screen would still think it was on the first screen. Change-Id: I1b27433ea6607a218384d814ae4c16b9c4395948 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | Client: Implement xdg-decoration-unstable-v1 for SSD supportJohan Klokkhammer Helsing2018-08-143-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | [ChangeLog][QPA plugin] Added client-side support for the xdg-decoration-unstable-v1 Wayland extension. Qt clients will now let the compositor draw the window decorations if configured through this extension. Note: The env var QT_WAYLAND_DISABLE_WINDOWDECORATION is still supported, but works on a higher level, and for all shell integrations, while xdg-decoration only works with xdg-shell stable. Task-number: QTBUG-69746 Change-Id: I9dd0331bbd8d624c6be54ed23ee3b96446d5820d Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
* | Merge remote-tracking branch 'origin/5.11' into devQt Forward Merge Bot2018-08-146-6/+33
|\| | | | | | | Change-Id: Ia9584a185a3d7a68a4333890ade535585ba33fee
| * Client: Don't leak toplevels for xdg-shell-unstable-v6Johan Klokkhammer Helsing2018-08-081-2/+4
| | | | | | | | | | | | Change-Id: Ifd6d4956eeed663e45219b428dfe562e7a82e626 Reviewed-by: David Edmundson <davidedmundson@kde.org> Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| * Don't commit same buffer multiple timesPaul Olav Tvete2018-08-086-6/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In Qt we call flush() when we think the window might need to be updated. It is also possible to trigger a flush while painting. Two fixes: 1) If there are attempted flushes between beginPaint() and endPaint, queue them up, and do them in endPaint(). 2) Make sure we only commit the buffer once: after that the compositor owns the buffer, and it can repaint on its own. Change-Id: Ibf61068fa95760eb67dbc0b1d0534854114ea528 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | Client: Return a fixed value for the logical screen DPIGiulio Camuffo2018-08-131-4/+8
| | | | | | | | | | | | | | | | | | | | [ChangeLog][QPA plugin] Font and UI scaling is now based on the screen scale factor rather than the physical DPI. The logical DPI is set to 96 unless overridden by the the environment variable QT_WAYLAND_FORCE_DPI, which may be set to a specific DPI or to "physical" to get the old behavior. Change-Id: Ife417bf5537b0f6c9ecceffea46937951770b150 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* | Client decorations: Don't spam mouse leave eventsJohan Klokkhammer Helsing2018-08-131-1/+3
| | | | | | | | | | | | | | | | Previously, we would send one leave event each time the mouse was moved on the decorations. Change-Id: I57bd6e57261447db8a8c5ab45dc8f3fdfed33a49 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | Add XdgOutput client supportDavid Edmundson2018-08-035-7/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | XdgOutput is an extension of wl_output with the benefit of having the logical size of a screen as an explicit parameter, instead of clients inferring it from modeSize / scale. This is useful as it allows compositors to implement fractional scaling whilst clients can still fill the screen. In the future XdgOutputV2 will support a more useful name and ID that we can use. [ChangeLog][QPA plugin] Added support for xdg-output-unstable-v1 Change-Id: I2e1e64ad6cb497a1cbb7b7b170f28ac92231c2c4 Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io> Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | Merge remote-tracking branch 'origin/5.11' into devQt Forward Merge Bot2018-07-102-3/+17
|\| | | | | | | Change-Id: I4c25009c207ab36219976e75343a9b6398d3a42d
| * Proper naming for backingstore logging categoryPaul Olav Tvete2018-07-091-3/+3
| | | | | | | | | | | | | | | | The logging category is exported, so the name should be specific. Change-Id: Iffdc89875ef9e3091009780edc614fee10c05532 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
| * Send damage for window decorationsJohan Klokkhammer Helsing2018-06-291-0/+14
| | | | | | | | | | | | | | | | | | | | | | Compositors that only update damaged regions would show the old content of the decorations. [ChangeLog][QPA plugin] Fixed the window decorations sometimes not updating on some compositors. Change-Id: I75ab40e159bf165152a58e438dd7f70e7f9e9b22 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| * Implement QWaylandXdgSurface::xdg_surface_close()Daniel d'Andrada2018-06-281-0/+1
| | | | | | | | | | Change-Id: Ia2f708fc668a802f4468efd0765f36aab0944e10 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
| * Merge remote-tracking branch 'origin/5.11.1' into 5.11Qt Forward Merge Bot2018-06-192-5/+36
| |\ | | | | | | | | | Change-Id: Idd23894d256f83518f2cd25d7c13f5a09c7d577e
| | * Merge 5.11 into 5.11.1Oswald Buddenhagen2018-06-071-1/+12
| | |\ | | | | | | | | | | | | Change-Id: I3d3cc001320febd64529f0997b88efd69303fa30
| | * | xdg-shell v6: Make sure popup parent is topmost popup when grabbingJohan Klokkhammer Helsing2018-06-052-5/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Avoids protocol errors on Weston, gnome-shell and wlroots-based compositors. [ChangeLog][QPA Plugin] Fixed a protocol error that sometimes happened when showing popups such as nested menus on xdg-shell unstable v6. Task-number: QTBUG-67988 Change-Id: I037aec94fba3d177dd0392e5a216a604bc65ac4f Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | | | Draw disabled text color for inactive window decorationsJohan Klokkhammer Helsing2018-06-291-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-68834 Change-Id: Iced478d12b56fc360c0d824cf5876855d887f9a2 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io> Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
* | | | Client: Fix cursor hotspot on high-dpiJohan Klokkhammer Helsing2018-06-271-3/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QWaylandInputDevice::setCursor(wl_buffer, QPoint, QSize, bufferscale) assumes a hotspot and a size in surface coordinates, while wl_cursor_image uses pixel coordinates. Divide by bufferScale to get the correct values. This breaks hidpi cursors on kwin 5.13.1 and earlier, where buffer scale for cursor surfaces are ignored. Change-Id: I7c86bc541ccf5fb878facebbe93d2b1f842dfc5c Reviewed-by: David Edmundson <davidedmundson@kde.org> Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | | | Client: Get rid of QWaylandShellSurface::setTypeJohan Klokkhammer Helsing2018-06-192-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This shouldn't change any behavior, but lets the shell integrations choose if they want to use the extremely hacky QWaylandWindow::transientParent(). Hint: Not all shells need the hacks, and not all shells need them in all cases, and some shells may need even more hacks. Change-Id: Id105e4feb83cc9c14dcf07dcca55fcd5e63d4a2b Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | | | Client: Don't restore content cursor when on the window decorationsJohan Klokkhammer Helsing2018-06-191-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: When the cursor entered the window decorations, QWaylandWindow::restoreMouseCursor would be called from the pointer enter handler messing up the cursor from the decorations, making the resize border seemingly hard to hit. Don't restore the cursor unless inside the window contents. [ChangeLog][QPA plugin] Fixed a bug where the arrow cursor would be shown instead of the resize cursor when hovering over the window decoration border. Change-Id: I2fabd8d626deaa7006734a4d5c6d10d6c0114466 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | | | Merge remote-tracking branch 'origin/5.11' into devLiang Qi2018-06-134-4/+24
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf Change-Id: I6596d1a127cc93e53ec30cd881da1810cb8076d5