summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2019-08-13 09:20:59 +0200
committerLiang Qi <liang.qi@qt.io>2019-08-13 09:20:59 +0200
commit0f76c0655260225a806abe46c8f9f33a571df15f (patch)
treeb1ec15232559fa20c36198ee045a4090cd3a4af1 /src
parent52b6560708ebcfeeaebdf2b43f368c610aa905a4 (diff)
parentca9be5cab503d85831653d6c4bc9c59bd0f6ad57 (diff)
Merge remote-tracking branch 'origin/5.13' into dev
Conflicts: src/client/qwaylandinputdevice.cpp Change-Id: I20fb102162351b714855258175ed00437e55f072
Diffstat (limited to 'src')
-rw-r--r--src/client/qwaylandinputdevice.cpp4
-rw-r--r--src/compositor/compositor_api/qwaylandquickitem.cpp2
-rw-r--r--src/hardwareintegration/compositor/linux-dmabuf-unstable-v1/linuxdmabufclientbufferintegration.cpp35
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()