summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Add changes file for Qt 5.9.5v5.9.5Antti Kokko2018-03-221-0/+33
| | | | | Change-Id: I382b13a2afcaa950ce7c64766793db65b490eba1 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Test for null pointer before using itAntonio Larrosa2018-03-141-1/+1
| | | | | | | | | Task-number: QTBUG-66867 Change-Id: Ibbe407fa3ac32141b52fa0086e9f1ebfd27052ba Done-with: Fabian Vogt <fvogt@suse.de> Reviewed-by: Johan Helsing <johan.helsing@qt.io> Reviewed-by: Jan Grulich <jgrulich@redhat.com> (cherry picked from commit e283cc059c83cbb4fe677beaca8aebb99156ccc5)
* Fix crash when connecting a new screenJohan Klokkhammer Helsing2018-02-211-2/+4
| | | | | | | | | | | | | | | In QWaylandWindow::virtualSiblings, don't include screens that have not been added yet. I.e. QWaylandScreens for which QPlatformIntegration::screenAdded has not yet been called. The cherry-picked version does not include the tests from the original patch. Task-number: QTBUG-62044 Change-Id: I623fbf8799d21c6b9293e7120ded301277639cc6 Reviewed-by: David Edmundson <davidedmundson@kde.org> Reviewed-by: Aleix Pol Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io> (cherry picked from commit fd9fec4fc7f43fb939e8e5a946c7858390bbd9d3)
* Fix flakiness in tst_WaylandClient::eventsJohan Klokkhammer Helsing2018-02-211-9/+11
| | | | | | | | | | | | | | | | | | | | | | The test was flaky because we have a workaround for a bug in Weston where Weston fails to send the last wl_touch.frame event (QTBUG-36602). We've worked around it by letting our client handle the wl_touch.up event before the frame event if it's the last up event. This caused a race condition in our tests, though (which include the frame event). Because Q_TRY_COMPARE(window.touchEventCount, 1) would pass and the window was sometimes destroyed before the frame event had been sent by the compositor thread. Work around it by moving the touch testing before the pointer testing, so the surface is still alive when the compositor tries to send the frame event. That way the test will not be flaky, and will continue to work when we eventually remove the workaround in QWaylandInputDevice. Task-number: QTBUG-66537 Change-Id: I5673445682810e75343c6df2d1b2a4f1c1b21bcb Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io> (cherry picked from commit 3dd9c91b6ebd7f9eccecad90ac57681f6bf6c5d6)
* Bump versionOswald Buddenhagen2018-02-021-1/+1
| | | | Change-Id: Iaf19695d09733bada6e2ba7394116d3b4c098332
* Add documentation for QWaylandShellSurfaceJohan Klokkhammer Helsing2018-01-262-0/+94
| | | | | | Change-Id: I5948aea1afdd8b9a71e6de128a5203eb9422f5e1 Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io> Reviewed-by: Martin Smith <martin.smith@qt.io>
* Fix incorrect documentation of QWaylandQuickItem::paintEnabledJohan Klokkhammer Helsing2018-01-221-2/+2
| | | | | | Change-Id: Id24b417687843709d9f7df499c4e8c8428f658b6 Reviewed-by: Martin Smith <martin.smith@qt.io> Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Fix requestUpdate()Paul Olav Tvete2018-01-181-1/+1
| | | | | | | | | | | | After commit 3e745ea053e42ba087438203df3bd76b30a08eb2, mFrameCallback is set to null when the next buffer is attached, not when the callback arrives. This means that a requestUpdate() after the frame callback would never be delivered. The solution is to test mWaitingForFrameSync instead. There is still a small race condition, but the failure case is that the update will arrive after 5 ms instead of exactly at frame sync. Change-Id: I413ed2b76c8527f825e501077bab712146b6705f Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* Merge remote-tracking branch 'origin/5.9.4' into 5.9Liang Qi2018-01-185-4/+43
|\ | | | | | | Change-Id: If72cba3251b792028a51f815f2f0cb064779bcec
| * Fix static builds with libwayland-eglv5.9.4Johan Klokkhammer Helsing2018-01-161-0/+2
| | | | | | | | | | | | | | | | | | | | | | There was a naming conflict between the client buffer integration, wayland-egl, and the system library libwayland-egl.so Rename the plugin binary to qt-plugin-wayland-egl to avoid the issue. Task-number: QTBUG-65652 Change-Id: Ib074c25e269a5e11b087fb4c3ddb15fef7d4a7ee Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| * Fix protocol error when destroying xdg surfaces (v6)Johan Klokkhammer Helsing2018-01-111-0/+2
| | | | | | | | | | | | | | | | | | Destroy role object for toplevels when destroying the xdg surface. Task-number: QTBUG-65568 Change-Id: Ibe027c3eef8160f9fd2cfb05971c92ceb155f95b Reviewed-by: David Edmundson <davidedmundson@kde.org> Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
| * Add changes file for Qt 5.9.4Paul Olav Tvete2018-01-051-0/+35
| | | | | | | | | | Change-Id: I97a769b49357e9b92c9160bf8ba4bfdb51009af3 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
| * Revert "Ref count buffer usage"Johan Klokkhammer Helsing2018-01-052-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a buffer is committed multiple times, not all compositors (i.e. Weston) send a matching number of release events. This caused clients to freeze on some occasions on those compositors because they were waiting for a release event that never came. This reverts commit 5f38652cd52c03e9df8600f5f41e044820c3062c. Backport from 5.10.0 to 5.9.4 Task-number: QTBUG-64631 Reviewed-by: David Edmundson <davidedmundson@kde.org> Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io> (cherry picked from commit 2767d0533f2901517c87d9c99bcda26564484280) Change-Id: I2acf5574a1b792d3bbf928fb0bc328aa8ee8ffe0 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | Don't recreate hidden egl surfacesDavid Edmundson2018-01-162-1/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QWaylandEglWindow deletes surfaces when a window changes from hidden to visible, presumably as a result of us not having a valid wl_surface object. By extension it doesn't make sense to create a surface whilst a window is still hidden. This fixes a crash where a QQuickWindow hides and then is destroyed. In QQuickWindow destruction we have to create a valid context in order to delete any textures/assets owned by the scene graph; as the wl_surface has gone this causes an error in the EGL libs when we create an EGL surface. Task-number: QTBUG-65553 Change-Id: I9b37a86326bf2cd7737c4e839c1aa8c74cf08116 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | Client tests: Support testing with window decorations enabledJohan Klokkhammer Helsing2018-01-052-16/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | Previously tests would hang because eglInitialize (which was called on window decoration creation) would wait for a Wayland roundtrip while our compositor thread was waiting for more commands. Work around this by prematurely causing the clientBufferIntegration to be initialized before applicationInitialized (when the compositors switches to handling requests synchronously). Change-Id: I793c70a8f3a764cb3a70f00ddcab76cd4044b442 Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
* | Client tests: Fix wrong position being sent when mocking touch eventsJohan Klokkhammer Helsing2018-01-041-2/+6
|/ | | | | | | We were sending ints when we should have been sending wl_fixed_ts. Change-Id: I9f074334cb3ea8a3d61789ff641c2d022a5989b7 Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
* Fix for big memory leak in Qt based compositorsRobert Griebl2017-12-192-1/+31
| | | | | | | | | The system would leak a complete buffer every time the client attached a new Wayland buffer. For QML applications this will normally happen every time a new animation is started. Change-Id: Ie4981ccbb2e09d702ee291f1144e3b8aa84c0d1d Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Bump versionOswald Buddenhagen2017-12-121-1/+1
| | | | Change-Id: Iba1f792012731f8cddfdc5d5dae8fe2b0b2eef7a
* Fix broken documentationJohan Klokkhammer Helsing2017-12-056-59/+40
| | | | | Change-Id: I16f11c32c861908e34de0cb28c8ad51378aa6e61 Reviewed-by: Martin Smith <martin.smith@qt.io>
* wayland-egl: use egl compiler optionsSamuli Piippo2017-12-041-1/+1
| | | | | Change-Id: I6f8dcadf3cffecc6097ad0ad5e8245831b3ce0c1 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Fix decoding of multi-planar surfaces (YUV video)Paul Olav Tvete2017-11-291-3/+3
| | | | | | | | | QOpenGLTexture::bind() expects texture unit number as plain uint number (e.g. 0,1,2) and not as GLenum (GL_TEXTURE1) Task-number: QTBUG-64841 Change-Id: Id471fc9976677ac8a358f04b9ae09c6a32beef63 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* Fix various documentation errors for QML methods and signalsJohan Klokkhammer Helsing2017-11-237-15/+15
| | | | | Change-Id: I9461fae92ec3d41e4f9e866a6a4fa7554a309ecd Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
* Add documentation for QWaylandQuickItem::surfaceDestroyedJohan Klokkhammer Helsing2017-11-231-0/+26
| | | | | | Change-Id: I7fd1e44974857b77fea27e75ef791603e607642e Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io> Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
* Merge remote-tracking branch 'origin/5.9.3' into 5.9Liang Qi2017-11-231-0/+52
|\ | | | | | | Change-Id: Ibedf640006695f88bd6fe9d2a5adb7b32a72f733
| * Add changes file for Qt 5.9.3v5.9.3Paul Olav Tvete2017-11-091-0/+52
| | | | | | | | | | | | Task-number: QTBUG-64188 Change-Id: If4b88cf67abfb1154b1d7520d0c9f88583427d93 Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* | fix build without xkbcommon-evdevRaphael Freudiger2017-11-161-1/+1
|/ | | | | | Change-Id: I1a223b440a6678aebc04df49f62fedc382bd898b Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io> Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* Add missing change signals for geometry and availableGeometryJohan Klokkhammer Helsing2017-11-061-0/+8
| | | | | Change-Id: I836be9a52fce41490ac4511f4d21d130abec7f55 Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
* Emit change signal when assigning socket name automaticallyJohan Klokkhammer Helsing2017-11-061-0/+1
| | | | | Change-Id: I6f92d5731e5f53fef37c442fd56e7e8260d8c4cb Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
* Support threaded rendering for Nvidia EGLStreamsPaul Olav Tvete2017-10-253-44/+81
| | | | | | | | | | | | | Create and update the texture on the GUI thread. Make sure there is a valid context on the GUI thread: create one if necessary, and share it with the global share context. Note: this requires that threaded compositors set the Qt::AA_ShareOpenGLContexts application attribute. Task-number: QTBUG-63039 Change-Id: Ia19af0536f9df319cde84221ed53db1c2ef42293 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* Ensure QWaylandWindow::transientParent has a shell surfaceJohan Klokkhammer Helsing2017-10-251-11/+16
| | | | | | | | | | This may not be a perfect solution, but it's better than the current one, where the transient parent may not have a shell surface (because the window may be hidden or not yet initialized). Task-number: QTBUG-63840 Change-Id: Ia5f04376d4b6d12b41ceeab5ba13cdc1b63b4e3c Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Compositor: Add missing QWaylandOutput::windowChanged emitJohan Klokkhammer Helsing2017-10-241-0/+1
| | | | | Change-Id: If02092ad3b9042e8f771f2bc55daed7a810191bd Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Add documentation for XdgShellV5 signalsJohan Klokkhammer Helsing2017-10-241-0/+92
| | | | | Change-Id: I6bb9385c709537a3ad924ad936bb87747e2ced7a Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
* Ref count buffer usageDavid Edmundson2017-10-232-4/+4
| | | | | | | | | | | | | | | | | | | | The QPlatformBackingStore can get flushed multiple times between paints. Flush sets the front buffer, but it does not create a new backbuffer. We can't do so without doing an expensive pre-emptive copy. This means we send the same front buffer multiple times. This is somewhat questionable with regards to the Wayland specification, but seems to work. If we do send a buffer multiple times we can't consider it free until the last attached buffer is released; otherwise we end up painting into a buffer whilst the server is still using it, leading to flickering. Change-Id: I8235eed6a85f0d52b37544e7bcb623b16a9dd832 Reviewed-by: Marco Martin <mart@kde.org> Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* Add documentation for XdgSurfaceV5 signalsJohan Klokkhammer Helsing2017-10-201-1/+129
| | | | | Change-Id: If1e3304cb9a8da2aeb20802759370bc2f0f476dd Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
* Fix crash when wl-shell setType is called with a hidden parentJohan Klokkhammer Helsing2017-10-202-2/+48
| | | | | | | | Fall back to creating a toplevel instead Change-Id: If7db27d08b79e4f9f8c82fa8f9bf73abdb2585d9 Reviewed-by: David Edmundson <davidedmundson@kde.org> Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Fix outdated BSD license headerKai Koehne2017-10-2018-46/+226
| | | | | Change-Id: Ib1ee37ca626afad14b65303a3cfb134485ade736 Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
* Fix outdated FDL license headerKai Koehne2017-10-2011-51/+51
| | | | | Change-Id: Id4ba079514c7844821adac3c0c108af7deb57889 Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
* Fix crash after destroying view with mouse focusJohan Klokkhammer Helsing2017-10-1812-78/+324
| | | | | | | | | | | | | | | Don't emit QWaylandSeat::mouseFocusChanged with a destroyed QWaylandView. QWaylandPointer has been refactored to make it easier to follow enter and leave logic. A missing emit for buttonPressedChanged has been fixed as well. This also adds a test for pointer events to verify that setting mouse focus works and that the crash has been fixed. Task-number: QTBUG-63208 Change-Id: Id0c174a7b609dfd0152f3ae446dd51fd8befd554 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Fix incorrect documentation for QWaylandWlShellSurface::surfaceRequestedJohan Klokkhammer Helsing2017-10-171-6/+25
| | | | | | | And add documentation for QWaylandWlShellSurface::surfaceCreated Change-Id: Iea730b7aee8403f0accae686d9d0fbbf086c7d86 Reviewed-by: Topi Reiniƶ <topi.reinio@qt.io>
* Compositor documentation: Specify return types for objectsJohan Klokkhammer Helsing2017-10-1710-21/+22
| | | | | | Change-Id: I9ff21c7d8b085be8fbcb102b5284ec1ac5dfb40b Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io> Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
* Documentation: update examples for extensionsJohan Klokkhammer Helsing2017-10-162-3/+3
| | | | | | Change-Id: If8840594b4077a464e97b4cb6db2fe8b70edf70d Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io> Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
* QWaylandWindow: reset window should reset maskChristophe Chapuis2017-10-131-0/+2
| | | | | | | | | | | When QWaylandWindow::reset() is called, the window's mask is not changed. It means that when the window will be initialized again, it will not re-send the mask description to the server side through Wayland. Task-number: QTBUG-62638 Change-Id: I07d561f466836bbd90ae58521c0768ed85554256 Reviewed-by: Johan Helsing <johan.helsing@qt.io> Reviewed-by: Christophe Chapuis <chris.chapuis@gmail.com>
* Merge remote-tracking branch 'origin/5.9.2' into 5.9Liang Qi2017-10-061-0/+62
|\ | | | | | | Change-Id: I1c88d93c70fc070446537c425c285443c502a22d
| * Merge 5.9 into 5.9.2v5.9.2Oswald Buddenhagen2017-09-251-1/+6
| |\ | | | | | | | | | Change-Id: I13840441f4beeb8160efc40047e0648891349394
| * | Add changes file for Qt 5.9.2Paul Olav Tvete2017-09-221-0/+62
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-62745 Change-Id: Ice852c29ce83721fac0a30fd90870531b3562126 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | | Bump versionOswald Buddenhagen2017-10-061-1/+1
| | | | | | | | | | | | Change-Id: I45e27ba5b9563aeb8499c297d9de618bf639812b
* | | Add non-global object to custom extension examplePaul Olav Tvete2017-10-057-11/+254
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Show how to create non-global objects on the client side. Also fix error in the XML file: move the enum outside the event. Change-Id: I85b4cae115a57d60eda4a54d652ea98a8cd39548 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | | 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>