diff options
author | Liang Qi <liang.qi@qt.io> | 2019-08-13 09:20:59 +0200 |
---|---|---|
committer | Liang Qi <liang.qi@qt.io> | 2019-08-13 09:20:59 +0200 |
commit | 0f76c0655260225a806abe46c8f9f33a571df15f (patch) | |
tree | b1ec15232559fa20c36198ee045a4090cd3a4af1 /src | |
parent | 52b6560708ebcfeeaebdf2b43f368c610aa905a4 (diff) | |
parent | ca9be5cab503d85831653d6c4bc9c59bd0f6ad57 (diff) |
Merge remote-tracking branch 'origin/5.13' into dev
Conflicts:
src/client/qwaylandinputdevice.cpp
Change-Id: I20fb102162351b714855258175ed00437e55f072
Diffstat (limited to 'src')
3 files changed, 22 insertions, 19 deletions
diff --git a/src/client/qwaylandinputdevice.cpp b/src/client/qwaylandinputdevice.cpp index 19e36ccba..8c794ddae 100644 --- a/src/client/qwaylandinputdevice.cpp +++ b/src/client/qwaylandinputdevice.cpp @@ -602,7 +602,7 @@ void QWaylandInputDevice::Pointer::pointer_enter(uint32_t serial, struct wl_surf invalidateFocus(); } mFocus = window->waylandSurface(); - connect(mFocus, &QObject::destroyed, this, &Pointer::handleFocusDestroyed); + connect(mFocus.data(), &QObject::destroyed, this, &Pointer::handleFocusDestroyed); mSurfacePos = QPointF(wl_fixed_to_double(sx), wl_fixed_to_double(sy)); mGlobalPos = window->window()->mapToGlobal(mSurfacePos.toPoint()); @@ -774,7 +774,7 @@ void QWaylandInputDevice::Pointer::pointer_button(uint32_t serial, uint32_t time void QWaylandInputDevice::Pointer::invalidateFocus() { - disconnect(mFocus, &QObject::destroyed, this, &Pointer::handleFocusDestroyed); + disconnect(mFocus.data(), &QObject::destroyed, this, &Pointer::handleFocusDestroyed); mFocus = nullptr; mEnterSerial = 0; } diff --git a/src/compositor/compositor_api/qwaylandquickitem.cpp b/src/compositor/compositor_api/qwaylandquickitem.cpp index 996177be4..0a179c131 100644 --- a/src/compositor/compositor_api/qwaylandquickitem.cpp +++ b/src/compositor/compositor_api/qwaylandquickitem.cpp @@ -1324,7 +1324,7 @@ QSGNode *QWaylandQuickItem::updatePaintNode(QSGNode *oldNode, UpdatePaintNodeDat if (d->view->isBufferLocked() && !bufferHasContent && d->paintEnabled) return oldNode; - if (!bufferHasContent || !d->paintEnabled) { + if (!bufferHasContent || !d->paintEnabled || !surface()) { delete oldNode; return nullptr; } diff --git a/src/hardwareintegration/compositor/linux-dmabuf-unstable-v1/linuxdmabufclientbufferintegration.cpp b/src/hardwareintegration/compositor/linux-dmabuf-unstable-v1/linuxdmabufclientbufferintegration.cpp index d512613a7..cd2351e5d 100644 --- a/src/hardwareintegration/compositor/linux-dmabuf-unstable-v1/linuxdmabufclientbufferintegration.cpp +++ b/src/hardwareintegration/compositor/linux-dmabuf-unstable-v1/linuxdmabufclientbufferintegration.cpp @@ -259,22 +259,25 @@ bool LinuxDmabufClientBufferIntegration::initYuvTexture(LinuxDmabufWlBuffer *dma LinuxDmabufClientBufferIntegration::LinuxDmabufClientBufferIntegration() { - m_yuvFormats.insert(DRM_FORMAT_YUYV, - YuvFormatConversion { - .inputPlanes = 1, - .outputPlanes = 2, - .plane = {{ - .format = DRM_FORMAT_GR88, - .widthDivisor = 1, - .heightDivisor = 1, - .planeIndex = 0 - }, { - .format = DRM_FORMAT_ARGB8888, - .widthDivisor = 2, - .heightDivisor = 1, - .planeIndex = 0 - }} - }); + YuvPlaneConversion firstPlane; + firstPlane.format = DRM_FORMAT_GR88; + firstPlane.widthDivisor = 1; + firstPlane.heightDivisor = 1; + firstPlane.planeIndex = 0; + + YuvPlaneConversion secondPlane; + secondPlane.format = DRM_FORMAT_ARGB8888; + secondPlane.widthDivisor = 2; + secondPlane.heightDivisor = 1; + secondPlane.planeIndex = 0; + + YuvFormatConversion formatConversion; + formatConversion.inputPlanes = 1; + formatConversion.outputPlanes = 2; + formatConversion.plane[0] = firstPlane; + formatConversion.plane[1] = secondPlane; + + m_yuvFormats.insert(DRM_FORMAT_YUYV, formatConversion); } LinuxDmabufClientBufferIntegration::~LinuxDmabufClientBufferIntegration() |