Comment 5 for bug 1497828

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Found roughly the cause of the freeze. This callback randomly stops calling back:

        connect(window(), &QQuickWindow::frameSwapped, m_surface, &MirSurfaceInterface::onCompositorSwappedBuffers,
            (Qt::ConnectionType) (Qt::DirectConnection | Qt::UniqueConnection));

and so this function no longer retrieves new buffers, just returns early:

void MirSurface::updateTexture()
{
    QMutexLocker locker(&m_mutex);

    if (m_textureUpdated) {
        return;
    }