summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* qtwaylandscanner: Remove globals when destroying wrappersJohan Klokkhammer Helsing2017-10-254-6/+62
| | | | | | | | | | | | | When globals are destroyed on the compositor side, send the "global_remove" event and set the resource implementation to nullptr so all further requests are ignored. This also adds a compositor test to see if outputs are removed when they are deleted. Change-Id: Ib77a4c3d4c2c93283a14ac20f5964e2ce08a1d38 Reviewed-by: David Edmundson <davidedmundson@kde.org> Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Docs: Fix misnamed QML methods for touch eventsJohan Klokkhammer Helsing2017-10-241-2/+2
| | | | | Change-Id: If672ef4dfdd30e59b78fb9ed47c673bfb4396599 Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
* Test client side xdg shell v6Johan Klokkhammer Helsing2017-10-2014-24/+274
| | | | | | | | | Apart for some new mocking code for xdg shell v6, this is mostly a refactor of the existing test, to reuse the existing mocking code between the different shell integrations. Change-Id: I68f93ab12ac47e51a50fd69647286cab46a3c595 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Use QImage::sizeInBytes() instead of deprecated QImage::byteCount()Johan Klokkhammer Helsing2017-10-194-7/+7
| | | | | Change-Id: If3f21fc43d0118c1819d354c8ef43f1b79617c7b Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Compositor: Add QML API for sending touch events to surfacesJohan Klokkhammer Helsing2017-10-172-3/+98
| | | | | | Change-Id: I51982b89b3aaee67573a7a08805bfdafcfcb0597 Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io> Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Add missing field initializer for wl_registry_listener::global_removeJohan Klokkhammer Helsing2017-10-161-1/+2
| | | | | Change-Id: I237a324657f9932ec4396c87a96b66f7c19ac86a Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
* Update minimal-qml exampleJohan Klokkhammer Helsing2017-10-161-18/+17
| | | | | | | | | Use xdg-shell-v6 instead of v5 and use a ListModel instead of instantiating ShellSurfaceItems explicitly. Change-Id: Ia9e8620ff0beed19fa1401a535311a2d78797368 Reviewed-by: David Edmundson <davidedmundson@kde.org> Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
* Tests: Add missing Q_UNUSEDsJohan Klokkhammer Helsing2017-10-163-0/+10
| | | | | Change-Id: Ifc7e5d000b7f5d75fb899d2294008f8dcabca777 Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
* Set implicit size for QWaylandQuickItemJohan Klokkhammer Helsing2017-10-131-3/+11
| | | | | | | | | This is how other Quick items behave (i.e. Image, Text). It means QWaylandQuickItem::sizeFollowsSurface is now obsolete would ideally be set to false or removed entirely if we didn't have care about compatibility. Change-Id: I053ee8984de3a2061e410a35e34b153416c64395 Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
* Merge remote-tracking branch 'origin/5.10' into devLiang Qi2017-10-0514-59/+168
|\ | | | | | | Change-Id: I7c3c1fb4535fe13b34a1b056bb16256e7f8057c0
| * Merge remote-tracking branch 'origin/5.9' into 5.10v5.10.0-beta1Liang Qi2017-10-0413-53/+123
| |\ | | | | | | | | | Change-Id: I83392c13a9cea972fbb570a9510a19f401675283
| | * Add missing QML documentation for IviSurfaceJohan Klokkhammer Helsing2017-10-031-3/+14
| | | | | | | | | | | | | | | Change-Id: I4b84d7eac0016dccaa370419487940e32130617e Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
| | * Add missing documentation for IviApplicationJohan Klokkhammer Helsing2017-10-031-0/+43
| | | | | | | | | | | | | | | Change-Id: I7f958175fdb5ae21babae259bf2e8d5e749cd396 Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
| | * Remove duplicate QML documentation of Shell.focusPolicyJohan Klokkhammer Helsing2017-10-031-7/+1
| | | | | | | | | | | | | | | Change-Id: I6c972b79555d41cba9e8c5954e595f76b580725b Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
| | * Add QML documentation for WaylandSeatJohan Klokkhammer Helsing2017-10-031-0/+11
| | | | | | | | | | | | | | | Change-Id: I71f6714f2ac4d92baedd89246d57f20c159bda1b Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
| | * Update documentation for QWaylandQuickShellSurfaceItemJohan Klokkhammer Helsing2017-10-031-7/+7
| | | | | | | | | | | | | | | | | | Change-Id: I80b4f078d63ac32d9ce6d91fc46f0b9d9d7d7146 Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io> Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
| | * Prevent '* * *' from appearing in WaylandView documentationJohan Klokkhammer Helsing2017-10-031-4/+5
| | | | | | | | | | | | | | | | | | | | | The documentation was missing the proper indentation. Change-Id: I3ce2afd8b9ea8c045f54202f942a8f55f831c1b2 Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
| | * Compositor: Add missing cursorSurfaceChanged signalJohan Klokkhammer Helsing2017-10-022-1/+6
| | | | | | | | | | | | | | | Change-Id: I23a67b8189ab84e6a70c9e3de5da15cf2e9a9d77 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| | * Documentation: Fix missing renames from Xdg* to Xdg*V5Johan Klokkhammer Helsing2017-10-024-29/+29
| | | | | | | | | | | | | | | Change-Id: Ia60e20a15151a76c337872bf46b4d09da519387c Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
| | * The ping method belongs to XdgShellV5, not XdgSurfaceJohan Klokkhammer Helsing2017-09-271-1/+1
| | | | | | | | | | | | | | | Change-Id: I9f2ed6411ab0e24a2a6e6f194abe3ffaaba96756 Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
| | * Make minimal-cpp work with EGLStreamsPaul Olav Tvete2017-09-211-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Redo change 955ac0d0eeaf2f543676b649291558f4dcce37c3 for the minimal compositor example. EGL_KHR_stream_consumer_gltexture only allows connecting to the texture bound to GL_TEXTURE_EXTERNAL_OES, meaning that assumptions about the target always being GL_TEXTURE_2D break horribly. Change-Id: If5b21d740eb80486e4f55bee843a820f0b0edd60 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
| * | Add missing documentation for XdgShellV6Johan Klokkhammer Helsing2017-10-031-0/+39
| | | | | | | | | | | | | | | Change-Id: Ifc7682614ee4e2691dface73ceace20fd4f6effa Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
| * | Documentation: Add QML return types for XdgShellV6* typesJohan Klokkhammer Helsing2017-10-021-6/+6
| | | | | | | | | | | | | | | | | | | | | And also fix copy-paste error for parentXdgSurface Change-Id: Ife15e8fc7a59a0effa0c9f00689273db3699eca6 Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
* | | Fix -Wreorder warning by using default member initializersJohan Klokkhammer Helsing2017-10-052-11/+9
| | | | | | | | | | | | | | | Change-Id: I50f2928f1329fe45b4315baa33909b3227be1faa Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
* | | Add missing override for QWaylandClientExtensionTemplate::bindJohan Klokkhammer Helsing2017-10-041-1/+1
| | | | | | | | | | | | | | | | | | | | | Change-Id: Id8dabf1e54cb2f6fda2d8ac41b4c63bb68f835f5 Reviewed-by: David Edmundson <davidedmundson@kde.org> Reviewed-by: Erik Larsson <erik@ortogonal.com> Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
* | | Merge remote-tracking branch 'origin/5.10' into devLiang Qi2017-09-2713-65/+284
|\| | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/client/qwaylandwindow.cpp src/client/qwaylandwindow_p.h src/compositor/compositor_api/qwaylandpointer.cpp Change-Id: Icbc22a1ae3cdd9cde438742817d07fccf97f647b
| * | doc: Expand the overview docs of Qt Wayland CompositorEskil Abrahamsen Blomfeldt2017-09-261-4/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There is some confusion with regards to what types of features the Wayland Compositor provides and how it related to application managers. This tries to expand the entry point description in the docs to give a more detailed description. Change-Id: I96f58c04646c69575a1bd4e4b9178c5722d752d6 Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io> Reviewed-by: Johan Helsing <johan.helsing@qt.io>
| * | Merge remote-tracking branch 'origin/5.9' into 5.10Liang Qi2017-09-2011-62/+229
| |\| | | | | | | | | | Change-Id: I76bfc271efcf75c75bf38f4bf58503e1d2a00839
| | * Fix server buffer integration override logicPaul Olav Tvete2017-09-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Assign to the actual variable instead of a new one with the same name. Change-Id: I9e4c3525891ff53f0194198b9c11f223df4c14a9 Reviewed-by: David Edmundson <davidedmundson@kde.org> Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
| | * Set window screen from wl_surface.enter and leave eventsJohan Klokkhammer Helsing2017-09-114-5/+78
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Removes the pointer mScreen, which would previously cause a crash if the screen was removed. Ensures that QWindow::screen() is correct, except in the cases where: - The compositor has not yet sent enter and leave events (in which case the primary output is returned). - The compositor is not sending enter and leave events (although this is mandatory, some compositors don't do this). - The application developer has tried to move the window with QWindow::setScreen(QScreen *). Since there is no way for a client to ask to be moved to a specific monitor in windowed mode, we return the requested screen until a new enter or leave event is received. This will also be useful when implementing/fixing features where the current screen matters. Examples are QT_AUTO_SCREEN_SCALE_FACTOR and the optional output parameter to wl_shell_surface.set_fullscreen. Task-number: QTBUG-62044 Change-Id: Iafde2e278fbc8876e8dafe5b2a4d2482fdc7961a Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| | * Close popups in the correct orderPaul Olav Tvete2017-09-072-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | According to the protocol, child popups have to be closed before parents, but QMenuBar/QMenu will sometimes close the parent first. Change-Id: Id027ac483b727a19388df619fe1503d794e12c12 Task-number: QTBUG-62048 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
| | * Add change file for Qt 5.6.3Johan Klokkhammer Helsing2017-08-311-0/+31
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-62701 Change-Id: Ia56244d29c1c60f74f736ac091fdfae68b25eae7 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| | * Fix crash when window attach is called without waiting for frame callbacksJohan Klokkhammer Helsing2017-08-313-9/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If QWaylandWindow::attach was called before getting the frame callback, it would overwrite mFrameCallback. Hence, all but the last frame callback would still be alive after the QWaylandWindow destructor. When the dangling callbacks got invoked the data pointer was statically casted to the deleted QWaylandWindow, resulting in undefined behavior. In this change we only delete frame callbacks from the render thread, avoiding a race condition we fixed earlier. And we always destroy the frame callback when adding a new one, ensuring that the destructor will clean up the only remaining callback. There's a test confirming that the crash has been fixed. This fixes the flakiness of many of the qtbase auto tests. Change-Id: Iecb08ab48216eac61b1ebc5c0e0664d4aac900c0 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| | * Update documentation for ShellSurfaceItem::shellSurfaceJohan Klokkhammer Helsing2017-08-311-7/+6
| | | | | | | | | | | | | | | | | | | | | | | | The old link to XdgSurface was broken due to the rename to V5. Added the other ShellSurface implementations as well. Change-Id: I012501d93353b27bb7bb6e14e56d5baecbdae6c1 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| | * Remove unimplemented method QWaylandTouch::focusDestroyedJohan Klokkhammer Helsing2017-08-241-3/+0
| | | | | | | | | | | | | | | Change-Id: I59d43d87e672015560a932c4ab5f376ad657c431 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| | * Send pointer events to all bound resourcesJohan Klokkhammer Helsing2017-08-242-36/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously we would send events to just one of the bound resources. An example of this, is the breeze Qt style, which would bind to the pointer resource a second time, which resulted in the original resource not receiving any events, which in turn resulted in an unresponsive client. Change-Id: Iac0ffe5d9ef0dfb95db89796515d7eb4a0b38227 Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
| | * Remove unimplemented method QWaylandPointerPrivate::focusDestroyedJohan Klokkhammer Helsing2017-08-241-2/+0
| | | | | | | | | | | | | | | Change-Id: I83d5692b6361311ba0562b0c3e6e026f392f7ab5 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| * | Fix namespaced buildsJohan Klokkhammer Helsing2017-09-181-0/+4
| | | | | | | | | | | | | | | | | | Change-Id: Iac3d7751b9c3a8c94ee87dbc4effcaceaf8a47dc Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | | Replace Q_NULLPTR with nullptrKevin Funk2017-09-2643-86/+86
| | | | | | | | | | | | | | | | | | | | | Change-Id: I9699a957430b8d3574ce29acb91b7ada9ea6209b Reviewed-by: Jan Arne Petersen <jan.petersen@kdab.com> Reviewed-by: Johan Helsing <johan.helsing@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | Temporarily rename QWaylandWindow::screen to waylandScreenJohan Klokkhammer Helsing2017-09-133-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The function is being made virtual in qtbase. Rename it to avoid issues with CI (missing override). It can be renamed back and made to override later. Task-number: QTBUG-63177 Change-Id: I4e3029445b34c53bfdd3e99254a690a1fac6f06e Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io> Reviewed-by: Jesus Fernandez <Jesus.Fernandez@qt.io>
* | | Bump versionFrederik Gladhorn2017-09-041-1/+1
|/ / | | | | | | Change-Id: I854f6b0a72c17df2b5b6cb819eb8b6644cf9a264
* | QWaylandShmBuffer: use a memfd if we can for a simple memory bufferv5.10.0-alpha1Thiago Macieira2017-08-261-7/+28
| | | | | | | | | | | | | | | | which has a file descriptor we can also use to share with Change-Id: I8d96dea9955d4c749b99fffd14cd61628c616b30 Reviewed-by: Johan Helsing <johan.helsing@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Merge remote-tracking branch 'origin/5.9' into devLiang Qi2017-08-1717-13/+251
|\| | | | | | | | | | | | | Conflicts: .qmake.conf Change-Id: Ia0f9d099e92a40cae7ec506781f70c56415bcf89
| * Try -lEGL when checking for wayland-eglJohan Klokkhammer Helsing2017-08-152-2/+4
| | | | | | | | | | | | | | | | This will detect wayland-egl on an imx6 without pkg-config Change-Id: I9c0fe6eef375fd0431a218c3b0407505c29eead9 Reviewed-by: Karim Pinter <karim.pinter@qt.io> Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| * Remove unimplemented overload for QWaylandSeat::sendFullKeyEventJohan Klokkhammer Helsing2017-08-151-1/+0
| | | | | | | | | | Change-Id: I2cc4e0877d5957c0939d62ec66ed2ce72f15e7e6 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| * Add missing QML documentation for ShellSurfaceItem::moveItemJohan Klokkhammer Helsing2017-08-141-1/+11
| | | | | | | | | | | | | | And add a more helpful explanation of the property. Change-Id: Ia5cd31867f5b0be586129abef829e00ee384b346 Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
| * Add missing documentation for examplesJohan Klokkhammer Helsing2017-08-144-0/+161
| | | | | | | | | | | | | | | | Add documentation for the following examples: minimal-qml, ivi-compositor, multi-screen and spanning-screens. Change-Id: Iacb14af9b1c825f08e2092836cb4821db005628d Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
| * Fallback to focusWindow as transient parentMarco Martin2017-08-101-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | The wayland protocol requires Popup windows to have a transient parent set, in order to correctly position the window on the screen. In Qt, some popup menus don't have it, so they will appear misplaced in the screen. This adds an heuristic which makes transientParent() return the current application focus window, which is an approximation which won't be always correct, but seems to fix most applications Task-number: QTBUG-60932 Change-Id: Icec1e306d3f64f4f00ad735a8c2eedb99e85eabb Reviewed-by: Johan Helsing <johan.helsing@qt.io>
| * Check surface exists when setting textinput focusDavid Edmundson2017-08-091-2/+4
| | | | | | | | | | | | | | | | | | | | QWaylandWindow resets the surface on various events. Handling focus comes in a posted event, so this can be after we've hidden a window and lost a surface. Task-number: QTBUG-61704 Change-Id: I535ff78c6bc2b86816696a08f8eebc47186d1225 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
| * Documentation: ShellSurfaceItem inherits WaylandQuickItemJohan Klokkhammer Helsing2017-08-091-0/+1
| | | | | | | | | | Change-Id: Ia67fe4f677dd77a6c1b4d7c1762fdefa9a2aed60 Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>