summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* 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>
* 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>
* | Add missing mouse ungrab when touch endsJohan Klokkhammer Helsing2016-09-151-0/+6
| | | | | | | | | | | | | | Task-number: QTBUG-54453 Change-Id: Ie8fadd89797cd7c9ff5bf00924706bd662bbd22d Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com> Reviewed-by: Dominik Holland <dominik.holland@pelagicore.com>
* | Doc: Add missing docs for a few QML typesVenugopal Shivashankar2016-09-021-20/+73
| | | | | | | | | | | | Task-number: QTBUG-53147 Change-Id: I9d806a3ba7cdd8deec6e3928c157b43409c82630 Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
* | Merge remote-tracking branch 'qt/5.6' into 5.7Paul Olav Tvete2016-08-264-8/+26
|\| | | | | | | Change-Id: I6784a53fcc2f0f68b8e916181cb8cdef263782b8
| * Merge remote-tracking branch 'qt/5.6.2' into 5.6Paul Olav Tvete2016-08-263-7/+17
| |\ | | | | | | | | | Change-Id: Ie6ec1ae90396619214cf1f29ae9595c5f1915e10
| | * Client: Fix keyboard focus logic and crashJohan Klokkhammer Helsing2016-08-263-7/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The previous solution did not check for nullptr before dereferencing, which caused a crash. Furthermore, it checked the new ShellSurface's shellManagesActiveState before deciding whether to unfocus the old one. Task-number: QTBUG-55526 Change-Id: I410b6200a5b7b86806f70970730045a4a25f21db Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| * | Pass TRANSIENT_INACTIVE flag for windows with WA_ShowWithoutActivatingMartin Gräßlin2016-08-261-1/+9
| |/ | | | | | | | | | | | | | | | | | | | | When setting a transient window also evaluate the state of the window attribute WA_ShowWithoutActivating. If that flag is set the transient should get the inactive flag as well. Task-number: QTBUG-55403 Change-Id: I757e5527e78f730a440e26abb52e84c9b2bb2f3a Reviewed-by: Johan Helsing <johan.helsing@qt.io> Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
| * Fix crash on client exitWieland Hagen2016-08-181-4/+13
| | | | | | | | | | | | | | | | | | | | This is a backported fix from the 5.7 branch. Original patches: 93ca929fb9caf347150 and d6fe7b6165859e17f03 Change-Id: Iaec5acb314d3bbc199e962a5dc27a70f0d2df655 Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com> Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | Doc: Language editVenugopal Shivashankar2016-08-241-1/+1
| | | | | | | | | | | | | | Removed a misplaced article. Change-Id: Ic78170156569b75d9ff577c8a34fd1bda48859c3 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | Fix incorrect documentation for QWaylandInputDeviceJohan Klokkhammer Helsing2016-08-181-1/+1
| | | | | | | | | | | | | | | | A QWaylandInputDevice is not actually an input device, but a group of keyboards, pointer and touch devices. Change-Id: Ib22f8cc71670cf83c70798d9eb24d48a04398b22 Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
* | Doc: Language editsVenugopal Shivashankar2016-08-1715-151/+167
| | | | | | | | | | | | | | Task-number: QTBUG-53147 Change-Id: I353cf18b9661b5eb2371072f8091dc890fc7fcf0 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-08-1117-52/+506
|\| | | | | | | | | | | | | | | | | Conflicts: src/client/qwaylanddisplay.cpp src/client/qwaylanddisplay_p.h src/client/qwaylandxdgpopup_p.h Change-Id: If86ea09971773dc6c541f07819459a90e8ab73a0
| * Client: Fix popup position for xdg shellJohan Klokkhammer Helsing2016-08-106-1/+163
| | | | | | | | | | | | | | | | | | | | | | | | | | Popups used xdg_surface instead of xdg_popup. It's not possible to set a position for an xdg_surface, because it's supposed to be a top level window (in xdg shell v5). Consequently, popups were treated as top level windows and positioned randomly on Weston. Using xdg_popup instead solves the problem. Task-number: QTBUG-55063 Change-Id: I223348677ef8a1ef1eee6a4c389276a6c802bcb5 Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
| * Make wl_shell and xdg_shell use the QWaylandShellIntegration interfaceJohan Klokkhammer Helsing2016-08-0913-40/+337
| | | | | | | | | | | | | | | | This simplifies the code in QWaylandDisplay and hopefully makes it easier to implement a prioritized shell selection mechanism later. Change-Id: I2bb3a13f8acedb60a6606cb3a8b5b228095eadf9 Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
| * Client: Refactor window active stateJohan Klokkhammer Helsing2016-08-084-8/+4
| | | | | | | | | | | | | | | | Let shell surface implementations decide if they manage activated state. Moves the logic out of QWaylandDisplay. Change-Id: I75c86df68a1a93f9b1d2bf378b6603215d0b0128 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| * Fix crash when dragging with touch without first having pointer focusJohan Klokkhammer Helsing2016-08-021-0/+3
| | | | | | | | | | | | | | | | Also add drag-and-drop tests for both touch and mouse. Task-number: QTBUG-54756 Change-Id: Ibfff48b1f2377022a8624e28e9f638076187ddca Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| * Remove logging of drag-and-drop dataJohan Klokkhammer Helsing2016-08-011-4/+0
| | | | | | | | | | Change-Id: Ic66faf02f7d4eb82aa898a2858a0271a007460a0 Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@hawaiios.org>
* | Fix for wayland-egl on DRIVE CXLaszlo Agocs2016-08-102-2/+2
| | | | | | | | | | | | | | | | | | Have to adapt after the changes in qtbase Task-number: QTBUG-55140 Change-Id: I5b5c981514c7ea2898c631db579d4d7d43975e3d Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com> Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* | Doc: minor link issues in qtwaylandNico Vertriest2016-08-104-12/+19
| | | | | | | | | | Change-Id: I0dd4d0262818ee622f9572506d4025e586f5674b Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
* | Emit NOTIFY signal for bufferLocked propertyPaul Olav Tvete2016-08-041-0/+3
| | | | | | | | | | | | Change-Id: Ibc11a06a15834f3486440c65edd397bfcba5e0f4 Reviewed-by: Johan Helsing <johan.helsing@qt.io> Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@hawaiios.org>
* | Fix build with ICC 17: problem parsing override keywordThiago Macieira2016-08-032-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | So just use the typedef that QPlatformOpenGLContext defines for a function pointer. qwaylandglcontext.h(76): error: expected a ";" Intel Issue ID: 6000161944 Change-Id: I149e0540c00745fe8119fffd1463ce5c4ffdeb4c Reviewed-by: Jan Arne Petersen <jan.petersen@kdab.com> Reviewed-by: Johan Helsing <johan.helsing@qt.io> Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
* | Fix build: xcomposite-xxx depend on QtPlatformSupportThiago Macieira2016-08-032-0/+3
| | | | | | | | | | | | | | | | | | qwaylandxcompositeeglcontext.h:47:10: fatal error: 'QtPlatformSupport/private/qeglplatformcontext_p.h' file not found Change-Id: I149e0540c00745fe8119fffd146455b90946cacf Reviewed-by: Jan Arne Petersen <jan.petersen@kdab.com> Reviewed-by: Johan Helsing <johan.helsing@qt.io> Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
* | Doc: several minor link issues in QtWaylandNico Vertriest2016-08-026-15/+12
| | | | | | | | | | | | Change-Id: I9e656b02e1b820e2257d95948650c541656192b4 Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io> Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-08-017-46/+118
|\| | | | | | | Change-Id: I75a8ddc0652f3c6f438ef98e940c9357450d29c6
| * Fix high-DPI scaling of window decorations for shared memory buffersJohan Klokkhammer Helsing2016-07-111-10/+18
| | | | | | | | | | Change-Id: I6833ab86ffdb4e37dad5108baddb7a54cfb5e9fa Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
| * Use xdg_shell configure events to determine active windowJohan Klokkhammer Helsing2016-07-046-36/+100
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | According to the xdg_shell protocol, the compositor is allowed to set multiple active windows. Qt's model, however, allows only a single active window. In order to map between the models, a list of the compositor's active windows is kept in QWaylandDisplay in the order they were activated. Hence, the front of this list will always be the most recently activated window, and it will be mapped as Qt's active window. Previously keyboard focus was used to determine the active window, this method has been disabled for xdg_shell. Functionality for delaying the call to QWindowSystemInterface::handleWindowActivated has been moved from QWaylandInputDevice::Keyboard to QWaylandDisplay so the implementations can share the workaround. Task-number: QTBUG-53702 Change-Id: I878151f9c52ed09a8d6571c6208920436c3ca8fc Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
* | Fix clang compilation errorsJohan Klokkhammer Helsing2016-07-133-4/+6
| | | | | | | | | | | | | | | | Adds missing overrides and removes a private header generated by wayland-scanner from the public API. Change-Id: I53fc3f8bacca41821f0531aae02ca2a5da758e13 Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
* | Fix the key code of key events when control is pressedGiulio Camuffo2016-07-045-28/+22
| | | | | | | | | | | | Change-Id: I51a57a32d8263e663a48dac15881d685359bc91d Reviewed-by: Jan Arne Petersen <jan.petersen@kdab.com> Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@hawaiios.org>
* | Doc: fixed issue compiling qtwaylandcompositor.htmlNico Vertriest2016-07-012-22/+8
| | | | | | | | | | | | | | Added 2 cpp.ignoretokens statements Change-Id: I0f86ba94682b6f9fc0e76484a14ece7c39ff436a Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
* | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-06-3032-154/+136
|\| | | | | | | | | | | | | | | | | | | Conflicts: src/client/qwaylandinputcontext_p.h src/hardwareintegration/client/brcm-egl/qwaylandbrcmglcontext.h src/hardwareintegration/client/wayland-egl/qwaylandglcontext.h src/hardwareintegration/client/xcomposite-glx/qwaylandxcompositeglxcontext.h Change-Id: Iac517e1985e4e67d7ca00ca4c10dcda9dd9079f9
| * Remove unused method QWaylandDisplay::lastKeyboardFocusInputDeviceJohan Klokkhammer Helsing2016-06-293-16/+0
| | | | | | | | | | Change-Id: Iee19b36ae2032112e0097dc6eb2e4592697c2a1c Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@hawaiios.org>
| * Add missing Q_DECL_OVERRIDEs to client classes.Johan Klokkhammer Helsing2016-06-2724-101/+101
| | | | | | | | | | | | Change-Id: I10e550a25ce498bbeedc242ac73059cc6fdcef30 Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@hawaiios.org> Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
| * Only resize when the cursor is actually on the window frameJohan Klokkhammer Helsing2016-06-201-4/+4
| | | | | | | | | | | | | | | | | | The previous code seems to have been written under the impression that QWindow::width() included frame margins, causing the resizing areas of the window decoration to be too large. Change-Id: Ia13f12afd88a4017d01853798226455b84290d01 Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
| * Client: Fix incorrect size when maximizing using xdg_shellJohan Klokkhammer Helsing2016-06-162-14/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When maximizing xdg_shell clients, the clients would call QPlatformWindow::setGeometry() with frame margins included, resulting in a window that was bigger than what was requested by the compositor. The reason for this, was that QWaylandXdgSurface would subtract the frame margins from the width and height only when the resizing state was set, not when the maximized state was set. Later, margins were added again before QWaylandWindow::configure was called. This resulted in margins being subtracted and then added back for the resizing state, while for the maximized state margins were only added and never subtracted. This behavior has now been simplified so only size including window frame is tracked. This is what we receive in the XdgSurface::configure event anyway, and also what QWaylandWindow::configure expects. Change-Id: I0629e7e79a5367fa872743c6d025bfab8a4f2866 Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
| * Set device pixel ratio for window decorations on scaled windowsJohan Klokkhammer Helsing2016-06-091-1/+4
| | | | | | | | | | Change-Id: I40d96362131124effd9405cdad4e3dea79e6ebe3 Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@gmail.com>
| * Fix content positioning relative to decoration on scaled outputsJohan Klokkhammer Helsing2016-06-081-1/+1
| | | | | | | | | | | | | | | | | | Only the width and height were scaled previously, causing an incorrect offset from the lower left corner, resulting in a small transparent gap to form between the decoration and the content on the right and top. Change-Id: I0b253c05c9b260d9ff3a6ab5f8aea42370561959 Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@gmail.com>
| * client: Always accept the DnD data offerGiulio Camuffo2016-06-031-18/+16
| | | | | | | | | | | | | | | | | | | | | | Weston stopped sending the wl_data_device.drop event if the data offer was not accepted, which was the case when it was coming from the same client that was receiving the offer. So now always accept the offer even if we will bypass the offer when retrieving the data. Change-Id: If825f4dbc962a7812e379f36a42ceabe3eb3096f Reviewed-by: Johan Helsing <johan.helsing@qt.io> Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>
* | xdg_shell: Send unmaximize configure events with zero width and heightJohan Klokkhammer Helsing2016-06-211-4/+3
| | | | | | | | | | | | | | | | | | | | This is what Weston does. It also fixes an issue where clicking and releasing the window border without moving the mouse would result in an incorrect size being sent in the configure event (because resizeState is initialized in the move handler, which may not have been called). Change-Id: Ib2a544c39cf74a210ac8fafe3624d9169ea06b4c Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@hawaiios.org>
* | Doc: minor link issues QtWaylandNico Vertriest2016-06-214-5/+5
| | | | | | | | | | | | Change-Id: I5ea47a8252f2915696d02052686f2c802a81878c Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io> Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | Use the EGL_EXT_platform_wayland extension if availableGiulio Camuffo2016-06-212-5/+32
| | | | | | | | | | | | | | | | | | This allows to avoid polluting the environment with the EGL_PLATFORM variable, and conversely to avoid relying on it and still be sure to get a valid display. Change-Id: I3dd4b62b1358fdc0ba8a5cedb1233e13405611df Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* | Compositor: Fix popup support properlyPaul Olav Tvete2016-06-202-1/+38
| | | | | | | | | | | | | | | | | | | | | | | | - Make popups work with overlays such as QQuickDrawer. - No longer require that there is a background item that accepts mouse events. - UI items on top of the compositor area that should block mouse clicks on popups, must set the property "qtwayland_blocking_overlay". Change-Id: If81793750e016f53e3873e216e90ed86d324c067 Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@gmail.com> Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | Make source tarballs compile with --developer-build configure flagJohan Klokkhammer Helsing2016-06-201-0/+2
| | | | | | | | | | | | | | | | | | For some reason, include paths to the generated protocol headers are incorrect only when compiling from source tarballs. Task-number: QTBUG-53945 Change-Id: I7721dee4d75bd0dd29f68062fa7c200f85ce24d6 Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
* | Merge remote-tracking branch 'origin/5.7.0' into 5.7Liang Qi2016-06-163-6/+10
|\ \ | | | | | | | | | Change-Id: I58849f3b7bf695eb446e9dc96d71d6838912ffb1
| * | QtCompositor: Fixed touch point handlingDominik Holland2016-06-072-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When touch event sending was enabled for the surface the compositor crashed because the resource where not bound and the checks for the pointer were wrong. Task-number: QTBUG-53886 Change-Id: I3720c773cbe30354bb4fe3789e26a8901e676049 Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> Reviewed-by: Kalle Viironen <kalle.viironen@theqtcompany.com>
| * | eglstream: Fixed problem when resizing a windowDominik Holland2016-06-021-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It seems we are not allowed to delete the texture when the buffer is destroyed as this breaks the following eglstream and shows a empty texture. We need to check with NVIDIA, but the deletion of the texture might be handled by wayland Change-Id: Icd20594498d83c57458f77b9e91f0980f8c2d173 Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* | | Fixed invalid texture error when unhiding QWaylandQuickItems.Robert Griebl2016-06-141-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When creating new scene-graph nodes (which is the case when re-parenting items), no texture is attached to the node, leading to an abort due to an invalid scene-graph. Change-Id: I4cc1fd3cbce5f90362bc18b87a76b462d0d62377 Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@gmail.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>