summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Fix invalid json in qt_attribution.jsonv5.15.0-beta3Kai Koehne2020-03-191-1/+1
| | | | | | | Amends 222455cd643c128 Change-Id: Ifec3dc5d8698229cc0c2f375eebd5a4ebfd62d35 Reviewed-by: Johan Helsing <johanhelsing@gmail.com>
* Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2020-03-181-1/+1
|\ | | | | | | Change-Id: If50dbe8e959ba8833551cb9db4f3b69cc342b202
| * Fix broken Qt Wayland Compositor QML Types pageKai Koehne2020-03-091-1/+1
| | | | | | | | | | | | | | \qml and \endcode do not match. Amends a658a10f6a42e67 Change-Id: I9ed069a255a8843ecc4192172bbd645cea488a34 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* | Fix incomplete QPainterPathv5.15.0-beta2Allan Sandfeld Jensen2020-03-101-0/+1
| | | | | | | | | | | | Fixes: QTBUG-82789 Change-Id: I8cab4edfac68aec81bc86cfdf022c3600f7a32a8 Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
* | Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2020-03-071-3/+1
|\| | | | | | | Change-Id: Ia8c20b7bc5ffb49beba358a2c47ac7347e1d3ecb
| * Fix installing qtwayland without qtquick or opengl supportKai Koehne2020-03-061-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Unconditionally generate qwayland-server-qt-texture-sharing-unstable-v1.h, even if the header file will not be used. It is listed in syncqt.profile though, and because of private_headers.CONFIG += no_check_exist in extensions.pri qmake will unconditionally generate an install rule. Fixes: QTBUG-82569 Change-Id: I5125382f1e4fc61936515e045a7e6a4a3c608451 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Test the EGL wayland platform extensions before using themSamuli Piippo2020-03-054-5/+10
| | | | | | | | | | | | | | | | | | The Khronos headers may be recent enough to have the ifdefs but implementation might still be missing on some platforms. Don't use the extensions unless the configure test passes. Change-Id: I23129115729567fa92bc23da099d27df598fc206 Reviewed-by: James McDonnell <jmcdonnell@blackberry.com>
* | Use Qt::SplitBehavior in preference to QString::SplitBehaviorEdward Welbourne2020-02-281-1/+1
| | | | | | | | | | | | | | | | The Qt version was added in 5.14 "for use as eventual replacement for QString::SplitBehavior." Move another step closer to that goal. Change-Id: Ie19f7580d75694982ac26c08ad5aabb73d830494 Reviewed-by: Johan Helsing <johanhelsing@gmail.com>
* | Client: Delete decoration object when frameless window hint is addedJohan Klokkhammer Helsing2020-02-271-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We don't want windows with FramelessWindowHint to have a zxdg_toplevel_decoration_v1 object, because that allows the compositor to force server-side window decorations. We already have code in place that avoids creating the decoration object when the window is created. However, if the frameless window hint is added after the window has been shown, then the decoration object has already been created. The protocol states that if a decoration object is destroyed, the window will switch back to a mode without any server-side decorations on the next commit... so this is what we do in this patch. Unfortunately, there is no clean way to handle the case when the hint is removed while the window is visible since the protocol explicitly forbids creating toplevel decoration objects for surfaces with committed buffers. Discussion is ongoing as to whether this should be fixed in the next version of the protocol: https://gitlab.freedesktop.org/wayland/wayland-protocols/issues/9 If we want to work around it, it is perhaps possible to destroy and create a new wl_surface, but ideally, it will be fixed in the next version of the xdg-decoration protocol and we can just wait for that. Task-number: QTBUG-80702 Change-Id: I7e76c05fc3629f1fbbba1d18482808fe588e3878 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | Client: Workaround for QPlatformWindow::setVisible(true) being called twiceJohan Klokkhammer Helsing2020-02-272-0/+6
| | | | | | | | | | | | | | | | | | Fixes a crash. Otherwise we created two shell surface objects in some cases. Change-Id: Ieded56261061da6acf27ccabba81c8f578ca1596 Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
* | Make generated files more resilient to crashesv5.15.0-beta1Aleix Pol2020-02-141-0/+5
| | | | | | | | | | | | | | | | | | If m_resource is not initialized when calling a send_* method it will simply crash. This change checks for it beforehand so we get a warning instead. Change-Id: I601f9070a35a1b3e595567991f7e54e9a6572c2d Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | Client: Don't allow decorations for frameless windowsJohan Klokkhammer Helsing2020-02-131-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | This only fixes it for when Qt::FramelessWindowHint is set appropriately before the window is shown. [ChangeLog][QPA plugin] Windows with Qt::FramelessWindowHint no longer create zxdg_toplevel_decoration_v1, as that allowed compositors to force server-side decorations. Fixes: QTBUG-80702 Change-Id: I47a582a59f6682a57128c0c9d4e4b9a6181925a4 Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
* | Compositor: Deprecate XdgShell unstable v6Johan Klokkhammer Helsing2020-02-056-0/+30
| | | | | | | | | | | | | | | | | | | | | | | | A stable version of XdgShell has been released. Since most clients now support stable and v6 is almost a copy of stable. Most people that use v6 can probably just switch over to stable with minimal issues. [ChangeLog][Compositor] XdgShellV6 has been deprecated, use XdgShell instead. Task-number: QTBUG-81853 Change-Id: I1f5affe7ab0f6a1a0fe19f3a01ee146fb3bfeecf Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
* | Compositor: Deprecate XdgShell unstable v5Johan Klokkhammer Helsing2020-02-056-0/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | A stable version of XdgShell has been released. Since xdg-shell v5 is quite different from both the stable version and wl-shell with regards to how configure events work, it would be a maintenance burden to keep supporting it in Qt 6. [ChangeLog][Compositor] XdgShellV5 has been deprecated, use XdgShell instead. Task-number: QTBUG-81853 Change-Id: I06ffc676cb8c9c1a46de30eef59ceef8bb0ff7a3 Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
* | Client: Implement QPlatformWindow::startSystemResizeJohan Klokkhammer Helsing2020-02-0511-12/+27
| | | | | | | | | | | | | | Task-number: QTBUG-73011 Change-Id: Ife0d9949b4d4dd7e6f16d3de88d0cb4bf4991e09 Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io> Reviewed-by: David Edmundson <davidedmundson@kde.org>
* | Client: Update to new signature for startSystemMove()Johan Klokkhammer Helsing2020-02-042-3/+2
| | | | | | | | | | | | | | | | | | | | | | In 35dfb5a5, we temporarily disabled the override to let qt5.git update, now we add it back with the new signature. This means QWindow::startSystemMove now works for Wayland. Task-number: QTBUG-81751 Task-number: QTBUG-73011 Change-Id: I1459300d6f7fb77a9ae07bb4f5c2b80722f9b02c Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
* | Turn QNX key codes into xkbcommon key codesJames McDonnell2020-01-311-0/+9
| | | | | | | | | | | | | | | | | | | | This just requires adding 8 to the key code when the platform plugin is qnx. Inherited from evdev which inherited it from XKB. It's easier to conform to the requirement than remove it. Change-Id: Icd32ebf27256f29405821c7c8b7b8d93ff7f8fe0 Reviewed-by: Dan Cape <dcape@qnx.com> Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | Client: Temporarily disable QPA startSystemMoveJohan Klokkhammer Helsing2020-01-311-1/+1
| | | | | | | | | | | | | | | | | | | | | | The signature of startSysteMove has changed, remove the override temporarily so qt5.git can update. Then we can add the correct override back afterwards. Fixes: QTBUG-81751 Change-Id: I4ef9aec1e8299e853be4ef868ecfc3a374ae6f27 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: David Edmundson <davidedmundson@kde.org> Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
* | Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2020-01-211-0/+2
|\| | | | | | | Change-Id: I4e205974d29aef0443ad7aecdb43d5ab3ee1ec64
| * Avoid conflicting declaration for egl typedefsSamuli Piippo2020-01-201-0/+2
| | | | | | | | | | | | | | | | | | | | The EGL typedefs may have alternative declaration on some platforms, such as NVIDIA, which cause build errors. Add guards around the typedefs to avoid re-declaration. Task-number: QTBUG-79709 Change-Id: I14f09c94e159ef51dd858f0877fe610ce6f582d4 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | Enable QtWayland for QNXJames McDonnell2020-01-134-3/+30
| | | | | | | | | | | | | | | | | | | | | | | | Make EGL 1.5 with EGL_PLATFORM_WAYLAND_EXT a requirement for QNX and add some EGL 1.5 code alternatives. Avoids the need to deal with incompatibility problems between the QNX native display/window type and Wayland display/window type. Change-Id: Ib26a020e1f8c7f570c6af08697d8c8153c887294 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io> Reviewed-by: Johan Helsing <johan.helsing@qt.io> Reviewed-by: Dan Cape <dcape@qnx.com>
* | Client: Upgrade to xdg-output-unstable-v1 version 3Johan Klokkhammer Helsing2020-01-134-8/+30
| | | | | | | | | | | | | | [ChangeLog][QPA plugin] xdg-output-unstable-v1 version 3 is now supported. Change-Id: I054b2946e86175eabe76731bac94e5f287c4ee58 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | Don't use deprecated QMatrix class anymoreJarek Kobus2020-01-101-1/+2
| | | | | | | | | | | | Task-number: QTBUG-46653 Change-Id: I038a370ca8af642605709fa5ffdb1c619c60433b Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | Implement missing changed signals to propertiesPier Luigi Fiorini2020-01-104-6/+15
| | | | | | | | | | | | | | | | | | QML cannot do property binding with properties without CONSTANT or NOTIFY. Also emit changed signal where it's not. Change-Id: I5117383e22085af08589f6aa05892676c24f3846 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | Update protocol for xdg-output-unstable-v1Johan Klokkhammer Helsing2020-01-092-7/+18
| | | | | | | | | | Change-Id: I7d7a2fdbd1f44469b90c467c9490448c13025fa5 Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
* | Merge "Merge remote-tracking branch 'qt/5.14' into 5.15"Paul Olav Tvete2020-01-091-2/+5
|\ \
| * | Merge remote-tracking branch 'qt/5.14' into 5.15Paul Olav Tvete2020-01-091-2/+5
| |\| | | | | | | | | | Change-Id: I21c6a0a4bc8df8dcaf9e33647482ba43c7b7d6c4
| | * Avoid potential double deletionPaul Olav Tvete2020-01-091-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | It's not safe to use qDeleteAll on lists that change when elements are deleted. Change-Id: I7ec5b41da9eea839d1bda88bde621cc73a27927f Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | | Fix various issues in qt_attribution.jsonJohan Klokkhammer Helsing2020-01-091-8/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | freedesktop.org is moving over to GitLab, so let's update the urls. Some entries were also missing a DownloadLocation, or didn't link to a single version (which they're supposed to according to the documentation). So fixed those as well. Also, a couple of spelling fixes. Change-Id: I37f5365368bc0d97420488c6d62b25adc26590f5 Reviewed-by: David Edmundson <davidedmundson@kde.org> Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
* | | Update protocol for linux-dmabuf-unstable-v1Johan Klokkhammer Helsing2020-01-092-1/+17
| | | | | | | | | | | | | | | | | | | | | | | | Just updates the text of the protocol, no new functionality. Change-Id: I08a09b2a3d37f61fc28967fbb1306f35a2921f0a Reviewed-by: David Edmundson <davidedmundson@kde.org> Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
* | | Update protocol for xdg-shell stable to version 2Johan Klokkhammer Helsing2020-01-092-36/+66
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is just the protocol, it doesn't implement any new interfaces or behavior. Also update the project url, xdg-shell is now part of wayland-protocols, not Weston. Change-Id: I719cc99fc2c59af9abfc0c9abcb9c1daf9b43c74 Reviewed-by: David Edmundson <davidedmundson@kde.org> Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
* | | Update to latest release for xdg-shell-unstable-v6Johan Klokkhammer Helsing2020-01-091-2/+5
|/ / | | | | | | | | | | | | | | | | These are just textual changes in the protocol, so shouldn't change anything except the comments in the generated code. Change-Id: I0c93f593a171b0af3c9a812c6a45c3b1416b42f6 Reviewed-by: David Edmundson <davidedmundson@kde.org> Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
* | Add a comment at the top explaining where the generated file comes fromAleix Pol2020-01-081-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | It's useful to have the source of the generated file on top when reaching it from the IDE. Also it is useful to explain that it's a generated file at all. [ChangeLog][qtwaylandscanner] Include a comment on top explaining what xml file is being represented. Change-Id: Ie0584295791f246b0e8c83e0afd3a521f6bdbb2e Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | Client: Add basic support for tablet-unstable-v2Johan Klokkhammer Helsing2020-01-0810-0/+1738
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [ChangeLog][QPA plugin] Added support for drawing tablets through the tablet-unstable-v2 protocol. Adds support for the basic one tablet, one tool, no pads scenario. Besides the auto tests, I tested with a Huion Kamvas Pro 16 with a simple pressure sensitive pen with two buttons. As far as I can tell, it works the same way as on xcb on Sway and Gnome Shell. Also tested on a Wacom PTZ-630 with a mouse, art pen, airbrush and a stylus. Mapped the distance event to QTabletEvent::Z and slider to QTabletEvent::tangentialPressure. For now we send QTabletEvents even when there's a mouse or finger on the tablet. Those should ideally be sent as QMouseEvents/QTouchEvents, but that's out of scope for this patch, but at least we will send synthesized mouse events if the tablet events are not accepted. Change-Id: I93291ffa5f00fa2bb8533eddd8d873b84a3386b8 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | Don't use deprecated handleMouseEvent()Paul Olav Tvete2020-01-081-4/+10
| | | | | | | | | | | | | | | | | | The new version takes the event type and the button responsible as arguments. This commit adds logic to figure those out when mapping touch events to mouse events. Change-Id: Iadd1cf33aed12a05fcd28c74e2439ac8ac00f632 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | Fix compiler warningsPaul Olav Tvete2020-01-088-16/+26
| | | | | | | | | | Change-Id: Ie0bed19704bed89044d3cf25e7aaa1f740a4b39a Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2020-01-071-1/+1
|\| | | | | | | Change-Id: I9ee503ea5150a80b1fd748b841b99521d323bcd9
| * Stop using modern C++Johan Klokkhammer Helsing2019-12-311-1/+1
| | | | | | | | | | | | | | | | Fixes compilation errors with c++11. Fixes: QTBUG-81024 Change-Id: I13ae380a122a2d52b7b362a7a39e661a22c74afc Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
* | Client: Don't use deprecated handleMouseEvent versionJohan Klokkhammer Helsing2020-01-033-45/+46
| | | | | | | | | | | | | | | | | | | | | | | | The new version requires the button that caused the event, as well as the event type. Instead of adding a conversion functions to and from QWaylandInputDevice::Type to QEvent::Type, just use QEvent::Type directly, as there is one-to-one mappings for all the event types we need. Fixes: QTBUG-80044 Change-Id: I0f6e0e8e7f2e026a1d601f86e819affe0570a1b2 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
* | Add missing qAsConst for texture sharing extensionJohan Klokkhammer Helsing2020-01-021-2/+2
| | | | | | | | | | Change-Id: Ic6b2b0f50812ffc95b1019dd5a704d6fc4b4ec8e Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | Client: Add QWaylandWindow::mapFromWlSurfaceJohan Klokkhammer Helsing2019-12-303-5/+16
| | | | | | | | | | | | | | | | | | | | Qt window coordinates start inside the decorations, while wl_surface coordinates start at the first pixel of the buffer. Potentially, that would be in the shadow, although we don't have those. So for now, it's the first pixel of the decorations. Change-Id: Idccf8a359035f5477d6bc9e2e03a0e9fafe16971 Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
* | Merge remote-tracking branch 'origin/5.14' into 5.15Liang Qi2019-12-303-5/+38
|\| | | | | | | | | | | | | | | Conflicts: .qmake.conf src/client/configure.json Change-Id: I6afd4de5bcca36bebb7bfb479f8237a12e18dd5b
| * Drive cursor animation with a timerJan Alexander Steffens (heftig)2019-12-172-3/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Using only wl_surface_frame callbacks to update the cursor does so much more often than needed. In addition, at least GNOME and Weston fire the callback for the cursor surface immediately, which ends up updating the cursor at over 3000 Hz here. Use wl_cursor_frame_and_duration to drive a single shot timer. This function is also guaranteed to return 0 for single frame cursors, so we can avoid starting the timer at all. We wait for both the surface frame callback and the timer to fire before updating the cursor for the next frame of animation. This reduces our update rate to the frame rate of the cursor or the rate requested by the compositor, whichever is lower. Change-Id: I10277460ebe9b547ebaf7f73424b9ef17614107f Reviewed-by: Johan Helsing <johan.helsing@qt.io>
| * Client: Fix inverse repeat rate implementationJohan Klokkhammer Helsing2019-12-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The rate from wl_keyboard.repeat_info was used as if it was an interval. Fixed by converting from key strokes per second to milliseconds per key stroke. This fixes a regression, as repeat rate used to be hard-coded to something sensible before. [ChangeLog][QPA plugin] Fixed keyboard repeat rate being set inversely, so higher rates would actually result in fewer characters per second, and vice versa. Fixes: QTBUG-80613 Change-Id: Ie783b90cba13dde6f37c0cd1be584d352cddfe7c Reviewed-by: David Edmundson <davidedmundson@kde.org> Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| * Client: Fix detection of linux-dmabufJan Alexander Steffens (heftig)2019-12-151-1/+1
| | | | | | | | | | | | | | | | Change I84c8c1008724b49b6bedb4fc3ef398e292f1c6c7 fixed the tests in compositor/configure.json but missed the test in client/configure.json. Change-Id: I65ad424406438baa74ca80a9418e133510142118 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2019-12-103-3/+6
|\| | | | | | | Change-Id: I1f9418f4f5783291286417f6faf6277e0679007c
| * Client: Always close popups when hiding a windowJohan Klokkhammer Helsing2019-12-061-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | It's not just popups that may have popups open on them. Always close open popups when hiding a window to prevent dangling pointers. [ChangeLog][QPA plugin] Fixed a crash when re-showing a popup after hiding its parent. Fixes: QTBUG-80562 Change-Id: I7cdac5c7a30e0add5ebf00259401e4d74626ce96 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io> Reviewed-by: David Edmundson <davidedmundson@kde.org>
| * Client: really use OpenGL ES 2 API for decoration blitterPeter Seiderer2019-12-041-1/+1
| | | | | | | | | | | | | | | | | | | | Really use (as the comment states) the OpenGL ES 2 API for the decoration blitter. Task-number: QTBUG-80356 Change-Id: I4c923343e721a824521fb9b2b36be5d2de984325 Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io> Reviewed-by: Johan Helsing <johan.helsing@qt.io>
| * Fix compilation of linuxdmabuf compositor pluginJohan Klokkhammer Helsing2019-12-041-0/+4
| | | | | | | | | | | | | | | | Mesa's eglext.h no longer includes eglmesaext.h, so copy over the typedefs we need. Fixes: QTBUG-79709 Change-Id: I3190ef56e0e162636efea440dff7e760cf11fcd0 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* | Adjust the Wayland Vulkan configuration testsJames McDonnell2019-12-062-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | Define VK_USE_PLATFORM_WAYLAND_KHR before the vulkan.h include so the test will fail if the Wayland WSI header doesn't exist. Require features.vulkan so that vulkan related code won't build when --disable-vulkan is used. Change-Id: I275efcb3e728b59c6f99598c235074b941f1fbf0 Reviewed-by: Dan Cape <dcape@qnx.com> Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io> Reviewed-by: Johan Helsing <johan.helsing@qt.io>