summaryrefslogtreecommitdiffstats
path: root/src/client
Commit message (Collapse)AuthorAgeFilesLines
* 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>
* | 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>
* 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 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>
| | * | Client: Remove windows from keyboard focus list when destroyedJohan Klokkhammer Helsing2016-10-243-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>
| | * | Don't return a null QMimeData from the clipboardGiulio Camuffo2016-10-172-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The documentation for QClipboard::mimeData() doesn't say that the returned value can be null, and some clients just dereference that without checking. So instead return an empty QMimeData. Change-Id: Ieec3140af4e7f33cde98ed96fd96b2674d0d0f9f Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@hawaiios.org> Reviewed-by: Johan Helsing <johan.helsing@qt.io>
| * | | Call formatWindowTitle on the window titleMartin Gräßlin2016-10-111-2/+3
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | According to QWidget::setWindowTitle documentation the QPA plugin is responsible for adding the application name to the window title. As it's supposed to be done for Unix platform the Wayland QPA also needs to perform this task. Task-number: QTBUG-56475 Change-Id: Ib261c68d08ca06d1ec4734c8c215a4ceb059fae3 Reviewed-by: Johan Helsing <johan.helsing@qt.io> Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@hawaiios.org>
* | | Fix memory leaksGiulio Camuffo2016-11-032-47/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Several fields in QWaylandIntegration were never deleted, so use QScopedPointer to handle that. Also use QScopedPointer for all the heap allocated fields of the class. Change-Id: I4c33be4157a6e17abfa1610f84ef9a88afe5f38a Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@hawaiios.org> Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | | use modularized platformsupport modulesv5.8.0-beta1Oswald Buddenhagen2016-10-223-6/+11
| | | | | | | | | | | | | | | Change-Id: I7883470e22deb089240d86df7dc2d625a107a53e Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | Don't try to deliver event to destroyed windowPaul Olav Tvete2016-10-112-2/+4
| | | | | | | | | | | | | | | Change-Id: If1c57250e2dc9e0d55767bbdfb15c3e3f5d9b333 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | | Client: Remove windows from keyboard focus list when destroyedJohan Klokkhammer Helsing2016-10-113-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>
* | | Fix race condition on mFrameCallbackPaul Olav Tvete2016-10-062-9/+8
| | | | | | | | | | | | | | | | | | | | | | | | Don't try to destroy the callback from two different threads. This caused a crash with brcm-egl. Change-Id: Idcb18fca9ed7f84902b88212c0cebd67932a59d3 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | | Make sure we send frameSwapped signalsJohan Klokkhammer Helsing2016-10-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QWaylandWindow::deliverUpdateRequest() may trigger a new requestUpdate, so we must clear the mUpdateRequested flag first, so we don't accidentally clear the flag that belongs to the next update. Fixes missing updates on brcm-egl. Change-Id: Ib0decd5e8eb58505ccb94e93de494163ce0fd2ec Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | | Include headers with full pathPier Luigi Fiorini2016-10-015-8/+8
| | | | | | | | | | | | | | | | | | | | | Fix build of programs using the private API outside QtWayland. Change-Id: Ib43ed1be8df8be3cc7b67588003cd7f0a6ff6eb1 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | | Merge remote-tracking branch 'origin/5.7' into 5.8Liang Qi2016-09-203-2/+7
|\| | | | | | | | | | | | | | | | | | | | Conflicts: src/compositor/extensions/qwaylandxdgshell.cpp Change-Id: Ic45b930e01fec803287d63b6f2347f45b7638ffc
| * | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-09-173-2/+7
| |\| | | | | | | | | | Change-Id: If43a69c30682eab4a40149a03c619047e84c9f6d
| | * Fix build with QT_NO_ACCESSIBILITYSamuli Piippo2016-09-162-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | The accessibility() function is ifdef'd in the base class, which makes build fail when Q_DECL_OVERRIDE is used here. Change-Id: Ic3d800ccf32b39f5bc8d3f94d222bc0d34457057 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| | * Remove or add window decorations when toggling fullscreenJohan Klokkhammer Helsing2016-09-051-0/+1
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-55343 Change-Id: I38e94a70585ba93d40de22698fda80530cf2156d Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | | Warn if using QWaylandClientExtension without a Wayland pluginJohan Klokkhammer Helsing2016-09-191-0/+5
| | | | | | | | | | | | | | | | | | Change-Id: Ibbf6acab4af45a6b17089bd3809c33a199dc89f6 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io> Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@hawaiios.org>
* | | Only bind the extension oncePaul Olav Tvete2016-09-181-1/+1
| | | | | | | | | | | | | | | | | | Change-Id: I014269a19ca569298df91c2c329193e5ee5ff9c5 Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@hawaiios.org> Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | | Cleanup and null ptr checkPaul Olav Tvete2016-09-181-9/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | Don't crash if we ask for the surface before the window is created. Also clean up NULL/0/nullptr and a c-style cast. Change-Id: I2a5a66ee76a3a12c8ca32847dbe30cc640e924c2 Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@hawaiios.org> Reviewed-by: Johan Helsing <johan.helsing@qt.io>