summaryrefslogtreecommitdiffstats
path: root/src/client
Commit message (Collapse)AuthorAgeFilesLines
...
* 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
| * | | Add support for building QtWayland on macOSRobert Griebl2018-06-092-2/+11
| | |/ | |/| | | | | | | | | | Change-Id: I98aadd5019e913bf0adcf0122b7b209981926278 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| * | Don't ask libwayland to set absurdly long window titlesJohan Klokkhammer Helsing2018-06-061-1/+12
| |/ | | | | | | | | | | | | | | It will cause libwayland to terminate the application. Task-number: QTBUG-68715 Change-Id: I1d1830453da224bec8bf4c5d6ab087c0e05328a8 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| * Correct the include for QInternalMimeDataJoerg Bornemann2018-06-011-1/+1
| | | | | | | | | | | | | | | | Since qtbase/9f27bfb3, users of QInternalMimeData should include qinternalmimedata_p.h. Change-Id: I531d5fa318f55497b955b03c7e25d51a6f87ba05 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | Client: Accept prioritized list of shell integrationsPaul Olav Tvete2018-05-291-4/+4
| | | | | | | | | | | | | | | | | | [ChangeLog][QPA plugin] QT_WAYLAND_SHELL_INTEGRATION environment variable now accepts a semicolon-separated list of shell integrations. Change-Id: I91364f53ea584bfbd9693b5ea58df07226c3e2c6 Reviewed-by: Johan Helsing <johan.helsing@qt.io> Reviewed-by: David Edmundson <davidedmundson@kde.org>
* | Client: Add shell integration for xdg-shell stableJohan Klokkhammer Helsing2018-05-291-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [ChangeLog][QPA plugin] Added support for xdg-shell stable. Mostly a copy of xdg_shell unstable v6 with prefixes and suffixes removed. Otherwise, this is what changed: - The global is now named "xdg_wm_base", since "xdg_shell" was taken by xdg-shell <= v5. - Anchors and gravities are not bitfields anymore. Task-number: QTBUG-66783 Change-Id: I8ca881aae52cc07b22ff5e26df13a9a1566f58f4 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | Client: Move xdg-shell-v6 to a pluginJohan Klokkhammer Helsing2018-05-286-687/+1
| | | | | | | | | | | | | | | | [ChangeLog][QPA plugin] The xdg-shell-v6 shell integration has been moved to a plugin. Change-Id: I548d19590ddbc8ad3e791301359a6de17ac9dcd8 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | Client: Move cursor theme logic into its own class, QWaylandCursorThemeJohan Klokkhammer Helsing2018-05-284-201/+231
| | | | | | | | | | | | | | | | | | | | | | | | | | ...and out of QWaylandCursor. Encapsulates the ugly details of wayland cursor themes, and presents a simple interface. A theme is created with a given size and theme name. wl_cursor_images for a theme can be acquired through: wl_cursor_image *QWaylandCursorTheme::cursorImage(Qt::CursorShape shape); Change-Id: Ia6fc6f2997133ca25c1610ecdf075ecb5c4edbfa Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | Client: Only load cursor theme onceJohan Klokkhammer Helsing2018-05-284-22/+41
| | | | | | | | | | | | | | | | Now cursor themes load once per device pixel ratio, and not once per screen. Task-number: QTBUG-67796 Change-Id: I4c253e65a791d69e7d510c4228989390a4343110 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | Merge remote-tracking branch 'origin/5.11' into devQt Forward Merge Bot2018-05-261-1/+3
|\| | | | | | | Change-Id: I8a1570eac9bbe418283522624002f8a03dd60c95
| * Suppress warning about MFD_CLOEXEC being redefinedThiago Macieira2018-05-231-1/+3
| | | | | | | | | | | | | | | | | | glibc 2.27 #defined it as just "1U" instead of the kernel "0x0001U". Same value, but because the tokens are different, this triggers a warning. Change-Id: I052407b777ec43f78378fffd153112449de8cf4f Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | Replace qtkey-extension with qt-key-unstable-v1Johan Klokkhammer Helsing2018-05-244-17/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Remove the "dummy" request, which seems to be just leftover test code. - Rename the event from "qtkey" to "key". We've already prefixed the global interface, no need to also prefix the event. - Prefix the global with `zqt_` and suffix it with "_v1". If we make backwards incompatible changes, we should bump the suffix, rename the xml-file and reset the version number. - Add some documentation to the xml file. - Add notice about (lack of) compatibility guarantees. - Four spaces for indentation Task-number: QTBUG-68423 Change-Id: I78f0eaff4cac22f27318ba32c83c83feb2de857a Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | Move wl-shell to a pluginJohan Klokkhammer Helsing2018-05-1811-602/+12
| | | | | | | | | | | | | | | | | | | | | | [ChangeLog][QPA plugin] The wl-shell shell integration has been moved to a plugin. This also adds API so shell integrations can return native resources for windows, as it was needed in order to continue to supporting wl_shell_surface. Change-Id: Ibc68ffcc5b0c6993d8f4e078f663e4d67340e1a5 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | Client: Lazy load QWaylandCursorJohan Klokkhammer Helsing2018-05-163-21/+13
| | | | | | | | | | | | | | | | | | | | | | If nothing is trying to access QWaylandScreen::cursor() leave the platform cursor uninitialized. This in turn avoids initializing cursor themes, which may use a significant amount of shared memory depending on the cursor size, number of screens and screen DPI. Task-number: QTBUG-67796 Change-Id: Ifd062cb52c4889adcaadeb00bea928b8e84a2182 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | Adapt the cursor size per screenAleix Pol2018-05-155-25/+28
| | | | | | | | | | | | | | | | | | | | Adapt the cursor size to the screen's devicePixelRatio, so we are not forced to have a tiny cursor on a high dpi screen or a huge cursor on external low-dpi displays. Change-Id: I3712dc64e5c5e2e05d0dc5943bd49ba5c1335cd3 Reviewed-by: Johan Helsing <johan.helsing@qt.io> Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
* | Clean up forward class declarations in qwaylanddisplay_p.hJohan Klokkhammer Helsing2018-05-141-5/+0
| | | | | | | | | | Change-Id: I57ead68f2c243c14015afeddc9721866b3dd01f1 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | Move xdg-shell-v5 to a pluginJohan Klokkhammer Helsing2018-05-0917-953/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | This is the first step in deprecating xdg-shell unstable v5 and making the good names available for the good names for xdg-shell stable. Shell initialization has been refactored slightly, so the QWaylandShellIntegrationFactory actually tries to initialize the shell integration before returning it. Similarly for the factory method of non-plugin shells. Change-Id: I85e60594c4fc03c6f302c04316110aed428d28dc Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | Fix QWaylandXdgShellV6Integration::handleKeyboardFocusChangedJohan Klokkhammer Helsing2018-05-091-6/+3
| | | | | | | | | | | | | | | | | | | | | | The implementation was broken because it: 1. Didn't activate popups. 2. Activated toplevels with keyboard focus twice. 3. Tried to cast to xdg-shell-v5 classes, so windows were never deactivated. Change-Id: If492ebdbcd10a3214424f7bf6ac01e7ba8704bbf Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | update to use new dnd APIsGatis Paeglis2018-05-092-4/+8
| | | | | | | | | | | | | | For details see qtbase/10b3286313c78fa380b5fe676a7c14f3ae84f017 Change-Id: I197b2c158a0ffcb21cab973169c6257afa3d2c06 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | Client: Add acked configure support and implement it for xdg-shell v6Johan Klokkhammer Helsing2018-05-0711-267/+318
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The problem: The code in QWaylandWindow::setWindowStateInternal made many assumptions about how the shell surface responded to new window states, and when and if they were applied. Particularly: - The shell integrations support different subsets of Qt::WindowStates, so it doesn't make sense to map from states to setFullscreen, setNormal, etc. in QWaylandWindow because it really depends on the shell integration how it should be handled. - Some states are not supported/unknown on some shells and should immediately be rejected. - On some shells, particularly those where the current state is unknown, flags need to be resent even though they didn't change. - Should handleWindowStatesChanged be called immediately (client decides) or should it wait for a configure event (compositor decides)? I.e. the mState variable only makes sense for some shells. Furthermore, when state changes come from the compositors, some shell integrations require that a configure event is acked by the client and that the next committed buffer's size and content matches that configure event. Previously, we would just ack immediately and still send a buffer with the old size before a correct frame was drawn. i.e. sending incorrect acks, which would lead to protocol errors on some compositors. Additionally, QWaylandWindow::createDecoration() also assumed that windows should have decorations unless they are fullscreen. This is not always the case, particularly on ivi-application and probably on future shell integrations for embedded or tiling window managers etc. The Solution: The responsibility of mapping requested window states to Wayland requests have been moved to the QWaylandShellSurface implementation. QWaylandWindow now calls a new virtual, QWaylandShellSurface::requestWindowStates(Qt::WindowStates), instead of trying to be smart about it. The virtual getters and setters for window states have now been removed from the QWaylandShellSurface interface. It's now also the shell surface implementation's responsibility to call QWaylandWindow::handleWindowStatesChanged if and when it knows a new state is effective. QWaylandWindow::configure has been replaced with QWaylandWindow::applyConfigureWhenPossible(), which causes another new virtual, QWaylandShellSurface::applyConfigure(), to be called whenever we're free to resize and change the states of the next buffer (this is when states should be acked). This means that shells that use acked states need to store the pending states themselves, call applyConfigureWhenPossible(), wait for applyConfigure() to be called, call resizeFromApplyConfigure() and handleWindowStatesChanged(), and finally ack the applied state. Acked state for xdg-shell v5 and v6 has now been implemented, which also means we've now: [ChangeLog][QPA plugin] Implemented support for maximizing, minimizing, and setting fullscreen with xdg-shell unstable v6. [ChangeLog][QPA plugin] QWindow::isActive now follows configure events on xdg-shell unstable v6 (like v5). QWaylandWindow::createDecoration queries QWaylandShellSurface::wantsDecoration before creating window decorations, instead of using the previously unreliable QWaylandWindow::isFullscreen(). [ChangeLog][QPA plugin] Window decorations are now automatically disabled for ivi-application. The refactor also removes a couple of hacks: - QWindowSystemInterface::flushWindowSystemEvents() was called in QWaylandWindow::setWindowStates. Since this hack was introduced, the events now have oldState and newState members, and their values seem to make sense (ensured in the tests). - The hack for unminimizing on xdg-shell v5 in QWaylandWindow::createDecoration was not needed anymore. Finally, tests have been added for xdg-shell v6 to ensure that the right Wayland requests are sent, that we respond to configure events from the compositor, and that the Qt events and signals emitted on the client side make sense. Task-number: QTBUG-53702 Task-number: QTBUG-63417 Task-number: QTBUG-63748 Task-number: QTBUG-66928 Change-Id: Ib4c36b69105750f9dbdcc78adcf71e2e994cc70d Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | Use deliverUpdateRequest on QPlatformWindow instead of QWindowPrivateJohan Klokkhammer Helsing2018-04-061-2/+1
|/ | | | | | | | | This is because bff59f87ba11cac1dfa710f021522372de7a776f in qtbase. Task-number: QTBUG-67480 Change-Id: I2bb89f94ecc1d78e8919cd16e7bf9d8877baf121 Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io> Reviewed-by: Liang Qi <liang.qi@qt.io>
* xdg-shell v5,v6 shell integrations: Fix crash when showing popupsJohan Klokkhammer Helsing2018-03-204-7/+8
| | | | | | | | | | | | | | | | If a popup was shown without any input events happening first, it would cause nullptr dereferences in both xdg-shell v5 and v6. Fixes crashes in: - tst_QAccessibility::comboBoxTest - tst_QAccessibility::menuTest - tst_QWindow::touchInterruptedByPopup - tst_QFocusEvent::checkReason_Popup Task-number: QTBUG-67150 Change-Id: Ib3e06326f71e4ab5f74727cb4f79626a21c34d55 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* QWindow::requestActivate() is not supported on WaylandJohan Klokkhammer Helsing2018-03-082-2/+3
| | | | | | | | | | Return false for the WindowActivation capability to ensure we don't run tests that require it. Change-Id: Ia24d6eef02d462a25f3d50597debda9e062b3955 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
* Show warning when trying to minimize on wl-shellJohan Klokkhammer Helsing2018-03-071-1/+1
| | | | | Change-Id: Ice040dad70d0bcaf8bd101da5956ae75e211fe91 Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
* Add logging category for Wayland platform pluginJohan Klokkhammer Helsing2018-03-052-0/+5
| | | | | | Change-Id: Ic42119e47afc7bda72eb985fe86d1343a762c274 Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io> Reviewed-by: David Edmundson <davidedmundson@kde.org>