summaryrefslogtreecommitdiffstats
path: root/src/client
Commit message (Collapse)AuthorAgeFilesLines
* Don't depend on shell extensionPaul Olav Tvete2017-04-271-39/+40
| | | | | | | The mininimal-cpp compositor example does not have any shell extensions. Change-Id: I925450a75ab6f93245ca9897bbc6f092d93364b6 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* Don't try to create zxdg_popup_v6s with incomplete positionersJohan Klokkhammer Helsing2017-04-191-0/+1
| | | | | | | | | | A positioner without a size is considered incomplete, and creating a popup with an incomplete positioner is a protocol error. Change-Id: I5efdba0edfe6edc5f7b0a4908c1e43b93d35eea8 Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io> Reviewed-by: Jan Arne Petersen <jan.petersen@kdab.com> Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Fix warning about inconsistent use of override keywordv5.9.0-beta2Thiago Macieira2017-04-041-1/+1
| | | | | | | | | qwaylandshmbackingstore_p.h:93:19: warning: 'paintDevice' overrides a member function but is not marked 'override' [-Winconsistent-missing- override Change-Id: I27b55fdf514247549455fffd14b1791d4dd6b6b3 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* Don't redefine symbols from system librariesPaul Olav Tvete2017-03-281-1/+3
| | | | | | | | The system library versions may contain driver-specific functionality. Change-Id: Iaaa71bff7d2c305cb47798920a5977aaa2a3ac8a Task-number: QTBUG-58299 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* Clean up draganddrop and clipboard featuresPaul Olav Tvete2017-03-2317-57/+72
| | | | | | | | | | | | Don't assume that no-draganddrop implies no-clipboard. Introduce a new private feature wayland-datadevice which contains the common functionality. This feature cannot be controlled independently, but is automatically disabled when both clipboard and draganddrop are disabled. Change-Id: I6aac09c7ee524e3b11f0a1caa4a6c62fc3f1d10f Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* Code cleanup (fixing -no-feature-cursor)Paul Olav Tvete2017-03-083-27/+29
| | | | | | | | Move QWaylandDisplay member functions into the correct .cpp file. Change-Id: Ie3915d2bd0d191900ad2fd306564bb732e40221a Reviewed-by: Johan Helsing <johan.helsing@qt.io> Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
* Remove QRegularExpression dependencyPaul Olav Tvete2017-03-021-1/+3
| | | | | | | | | Fix build error with -no-feature-regularexpression. Change-Id: I6d3d0228548d832abea74b8e1145dc5b09f77b1b Reviewed-by: Jan Arne Petersen <jan.petersen@kdab.com> Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com> Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
* Merge remote-tracking branch 'qt/5.8' into 5.9Paul Olav Tvete2017-03-014-5/+23
|\ | | | | | | Change-Id: I43cd0147a63b5523e3112f09bbfe60e1d6636e6c
| * Initialize the first wl_surface in the constructor of QWaylandWindowJohan Klokkhammer Helsing2017-02-222-1/+8
| | | | | | | | | | | | | | | | | | | | This makes it possible to get a pointer to a wl_surface immediately after platform window creation. Task-number: QTBUG-58423 Change-Id: I2e62380af8b34d05ae31baacc071766493633022 Reviewed-by: Marco Martin <notmart@gmail.com> Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
| * Fix crash when running without shell integrationGiulio Camuffo2017-02-161-1/+8
| | | | | | | | | | | | Change-Id: Ia480913fd9986cbd306858d1fb497e1fb70551f0 Reviewed-by: Jan Arne Petersen <jan.petersen@kdab.com> Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
| * fix typos in "Raspberry Pi"Oswald Buddenhagen2017-02-101-1/+1
| | | | | | | | | | Change-Id: I92938ad834999ceabe0b360ab733a2c54335004c Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
| * Merge remote-tracking branch 'origin/5.8.0' into 5.8Liang Qi2017-01-261-2/+6
| |\ | | | | | | | | | | | | | | | | | | Conflicts: src/hardwareintegration/client/brcm-egl/qwaylandbrcmglcontext.h Change-Id: Ie45a13d3c866d0503e6e31b2a53b70f3420c5066
| | * Don't call wl_surface::destroy if the surface was never initializedJohan Klokkhammer Helsing2017-01-051-1/+2
| | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-57757 Change-Id: I85b74a3445c8d9df1a89b16760ce57e45204d2c6 Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@hawaiios.org> Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| | * Fix crash when starting clientsJohan Klokkhammer Helsing2017-01-031-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Don't send wl_surface::set_input_region requests before the wl_surface has been initialized. The shapedclock example used to crash in wl_proxy_marshal prior to this fix. Task-number: QTBUG-57757 Change-Id: I0a459d374bfb88fb22d048eda3722a41112d67a4 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | | Merge remote-tracking branch 'origin/5.8' into devLiang Qi2017-01-2534-204/+292
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf examples/wayland/custom-extension/client-common/main.cpp src/client/qwaylandwlshellintegration_p.h src/client/qwaylandxdgshellintegration_p.h src/compositor/compositor_api/qwaylandquickoutput.h src/plugins/shellintegration/ivi-shell/qwaylandivisurface_p.h Change-Id: Ic78c610ddf102b0a185294f625bbfcb9238b0f3c
| * | Replace all occurrences of Q_DECL_OVERRIDE with overrideJohan Klokkhammer Helsing2017-01-2326-192/+192
| | | | | | | | | | | | | | | Change-Id: I16b7b23efe944b49d1fcc9e7588cdb0a991cebd1 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| * | Fix build without feature.draganddropTasuku Suzuki2017-01-151-4/+8
| | | | | | | | | | | | | | | Change-Id: I4fff1a8d48483298eebecdc751fe76e80444bd99 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * | Fix build without feature.cursorTasuku Suzuki2017-01-138-3/+53
| | | | | | | | | | | | | | | Change-Id: If244e7ac58133ae6fbefacfa243d47fa210140be Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * | Fix build without feature.clipboardTasuku Suzuki2017-01-135-6/+27
| | | | | | | | | | | | | | | Change-Id: I195efecca9350cb519865f251cdee9c6e23d3592 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * | Client: Don't crash when the receiver of a paste closes the pipeJohan Klokkhammer Helsing2017-01-031-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | Ignore the SIGPIPE signal Task-number: QTBUG-57202 Change-Id: If22381f446675836aeb741a8e6da5473b0a27301 Reviewed-by: Martin Gräßlin <mgraesslin@kde.org> Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| * | Fix initial window property values being propagatedRobert Griebl2016-12-161-0/+3
| |/ | | | | | | | | | | | | | | This was broken since the the shell-surface refactoring. Change-Id: I130b7396e85c570a9d11d609af6b3016e3f706f0 Reviewed-by: Dominik Holland <dominik.holland@pelagicore.com> Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | Handle the zxdg_toplevel_v6.close eventJohan Klokkhammer Helsing2016-12-131-0/+1
| | | | | | | | | | Change-Id: I9f470930e8d3d88430f8a7b2017fa2d0159a015e Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | Merge remote-tracking branch 'origin/5.8' into devLiang Qi2016-12-122-0/+6
|\| | | | | | | Change-Id: Idd91b55bc2b1e3506d9385b3352aeda06de6d4bc
| * Don't crash when trying to run on a compositor without outputsJohan Klokkhammer Helsing2016-11-281-0/+5
| | | | | | | | | | | | Change-Id: I164ad71f42dff1ad92576729040608016497a56a Reviewed-by: Jan Arne Petersen <jan.petersen@kdab.com> Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
| * Merge remote-tracking branch 'origin/5.7' into 5.8Liang Qi2016-11-261-0/+1
| |\ | | | | | | | | | Change-Id: Ida15dd3247ae5690685fc66005cbebe58fca5d10
| | * Merge remote-tracking branch 'origin/5.7.1' into 5.75.7Liang Qi2016-11-241-0/+1
| | |\ | | | | | | | | | | | | Change-Id: I3aaa6641fb0b941d1fcadd796fb43edf15f34be9
| | | * Client: Remove windows from keyboard focus list when destroyedJohan Klokkhammer Helsing2016-10-253-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes the undefined behavior in tst_WaylandClient::touchDrag and mouseDrag Note: The test still fails if run twice in a row, but it appears to be deterministic. Task-number: QTBUG-56187 Change-Id: Ib45d82224f004d1324f2ce4d6b7df05ee36c04f5 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io> (cherry picked from commit 0049240a2b7d8691f09224e1542919ddbbb0d864) Reviewed-by: Johan Helsing <johan.helsing@qt.io>
| | | * fix namespaced build. *again*Oswald Buddenhagen2016-10-171-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I3cbc3efdac61a9f329d0796c64885e6565bd0b77 Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
| * | | Fix crash when destroying focus windowPaul Olav Tvete2016-11-231-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make sure we don't try to disable input for a window that has already been destroyed. Change-Id: I1224599b3c43e2315b3571f01c5896a001614dc4 Reviewed-by: Johan Helsing <johan.helsing@qt.io> Reviewed-by: Jan Arne Petersen <jan.petersen@kdab.com>
* | | | Fix broken HEADERS list in client.proJohan Klokkhammer Helsing2016-12-081-3/+3
| | | | | | | | | | | | | | | | | | | | Change-Id: I67fa756f584577028a90706609bc6485ee98b126 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | | | Deprecate QT_WAYLAND_USE_XDG_SHELLJohan Klokkhammer Helsing2016-12-067-28/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In favor of QT_WAYLAND_SHELL_INTEGRATION, which can be set to: - ivi-shell - wl-shell - xdg-shell-v5 - xdg-shell-v6 Change-Id: Ie2ca1184f22dcac56beb441329ea8b5a9a81baf4 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | | | Add xdg_shell_v6 support for Qt clientsGiulio Camuffo2016-12-0210-7/+562
|/ / / | | | | | | | | | | | | | | | | | | Task-number: QTBUG-56174 Change-Id: I6610905d0c9f29be29e812bcac193ea2a7e4f107 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io> Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | | Fix crash on exitPaul Olav Tvete2016-11-231-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | Make sure that QWaylandDrag and QWaylandClientBufferIntegration are destructed before the QWaylandDisplay. Change-Id: I606154c9861a51d7cf3e5afb16d4f805ab9368b8 Reviewed-by: Jan Arne Petersen <jan.petersen@kdab.com> Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | | Use new feature system, part 2Lars Knoll2016-11-2327-64/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | Convert all uses of QT_NO_FOO to proper QT_CONFIG(foo) checks. Change-Id: Id0f0b3325c246567a43d6b2d71b0d69e5535e648 Reviewed-by: Jan Arne Petersen <jan.petersen@kdab.com> Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | | Use the feature system internallyLars Knoll2016-11-2346-71/+124
| | | | | | | | | | | | | | | | | | | | | | | | | | | Get rid of almost all DEFINES += ... in the pro files, instead use the proper QT_CONFIG() macro to determine whether a feature is available. Change-Id: I867769be2085c6ba93b6815e223e2b89edcb245d Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | | Move qtwayland over to use the new configuration systemLars Knoll2016-11-232-13/+138
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Re-use configuration results from qtbase where possible and move all pkg-config handling over to be done at configuration time. Since waylandclient and waylandcompositor are two independent libs, this required some duplication of features and libraries used by both in the configure.json files. Change-Id: I1f3ec56c85cb780324cc7634a3ad7951125853a0 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | | Don't reset the cursor at every mouse moveGiulio Camuffo2016-11-224-7/+19
| | | | | | | | | | | | | | | Change-Id: I67f9a0d171da403ebb124ab584c2510891da80fc Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | | Client: Close popups on xdg_popup::popup_doneJohan Klokkhammer Helsing2016-11-182-0/+10
| | | | | | | | | | | | | | | Change-Id: I6d3b1ec5c22e6d07ed87948074d886cc9aa126ef Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | | Create and destroy the shell surface when showing and hidingGiulio Camuffo2016-11-1710-70/+83
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This changes the shell surface handling for windows, and instead of creating the shell surface at initialization time, and then attaching a null buffer to hide it, it creates the shell surface on setVisible(true), and destroys it on setVisible(false). This fixes hiding when using xdg_shell, as that interface defines that attaching a null buffer to an xdg_surface is an error. Also this should help with bugged EGL drivers which attach a buffer after eglSwapBuffers() returns, which used to cause a newly hidden window to get a new valid buffer after we attached a null one, showing it again. Task-number: QTBUG-47902 Change-Id: I8e0a0442319a98cc1361803ea7be1d079b36fc8c Reviewed-by: Johan Helsing <johan.helsing@qt.io> Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | | Rename qwaylandxdgpopup_p.cpp to qwaylandxdgpopup.cppJohan Klokkhammer Helsing2016-11-162-1/+1
| | | | | | | | | | | | | | | Change-Id: I4bffaafdae07db96d4fcca7d2a0751941a2e635f Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@hawaiios.org>
* | | Remove useless method QWaylandShmBackingStore::hiddenJohan Klokkhammer Helsing2016-11-113-8/+0
| | | | | | | | | | | | | | | | | | Change-Id: I8e28d3c1dc2c2bbff4517ffe3b2f63c2ac86b95f Reviewed-by: Jan Arne Petersen <jan.petersen@kdab.com> Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | | Remove QWaylandWindow::shellManagesActiveStateJohan Klokkhammer Helsing2016-11-1010-18/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If m_shellSurface was deleted, there was no way for QWaylandDisplay to know whether the shell handled window deactivation or not. The shell integration now always handles the window active state. The default implementation of QWaylandShellIntegration will make a window active on keyboard focus. Change-Id: I80cfce9976b1d3c57094fdd8980c9110b873f239 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | | Follow the protocol for nested xdg_popupsJohan Klokkhammer Helsing2016-11-102-4/+21
| | | | | | | | | | | | | | | | | | | | | | | | The previous implementation sent the wrong parent for nested popups and used a new serial for each popup instead of reusing the one for the current grab. Change-Id: I22b1cbe997a64562d47275821c9146157c51bc42 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | | Merge remote-tracking branch 'qt/5.7' into 5.8Paul Olav Tvete2016-11-1022-19/+110
|\| | | | | | | | | | | Change-Id: Ibfe6fe6ed983b537d55544883b7dc75e5cc3fc37
| * | Merge remote-tracking branch 'qt/5.6' into 5.7Paul Olav Tvete2016-11-1022-18/+121
| |\ \ | | | | | | | | | | | | Change-Id: I1efd16d6c5f939d61001376c3b010eae1927595b
| | * | Client: Cleanup mouse state after dragJohan Klokkhammer Helsing2016-11-102-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes an issue where dragging with the mouse would cause the next touch event to not generate a synthesized mouse press event. The touchDrag test can now be run directly after the mouseDrag test without failing. Task-number: QTBUG-56187 Change-Id: I53cc5f90fc8d8672936b23f54a017687d41c31fc Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| | * | Client: Fix touch getting stuck after drag-and-dropJohan Klokkhammer Helsing2016-11-093-1/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | wl_touch.up is not sent by compositors when dragging, so release all touch points when the drag ends. Task-number: QTBUG-56187 Change-Id: I1c3d03c72e75a551355c50bb5d82433f5e2e35f0 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| | * | Don't create new xdg surfaces in updateTransientParentJohan Klokkhammer Helsing2016-11-091-1/+3
| | | | | | | | | | | | | | | | | | | | Change-Id: I1644a75269fec40644f02eeb275d9e6b98995c0e Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| | * | Fix build when some features are disabledPaul Olav Tvete2016-11-0720-13/+69
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make QtWaylandClient compile when Qt is configured with: -no-opengl -no-accessibility -D QT_NO_CLIPBOARD -D QT_NO_DRAGANDDROP -D QT_NO_SESSIONMANAGER Task-number: QTBUG-56192 Change-Id: Idc6aae6b36a35515109a27bed31a22e3e909ef27 Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
| | * | Client: Call parent requestUpdate after changing subsurface positionJohan Klokkhammer Helsing2016-10-261-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Calling setPosition on a child window would not send the appropriate commit request after the wl_subsurface.set_position request. Task-number: QTBUG-52118 Change-Id: I792016ce7e0a5a2efd3a32a98727b43ee0275b0e Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io> Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>