diff options
Diffstat (limited to 'src/gui/kernel/qopenglcontext.cpp')
-rw-r--r-- | src/gui/kernel/qopenglcontext.cpp | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/src/gui/kernel/qopenglcontext.cpp b/src/gui/kernel/qopenglcontext.cpp index 3d9f1309c9..638eb1d12f 100644 --- a/src/gui/kernel/qopenglcontext.cpp +++ b/src/gui/kernel/qopenglcontext.cpp @@ -45,6 +45,7 @@ #include <QtCore/QThreadStorage> #include <QtCore/QThread> +#include <QtCore/private/qlocking_p.h> #include <QtGui/private/qguiapplication_p.h> #include <QtGui/private/qopengl_p.h> @@ -1442,7 +1443,7 @@ QOpenGLContextGroup *QOpenGLContextGroup::currentContextGroup() void QOpenGLContextGroupPrivate::addContext(QOpenGLContext *ctx) { - QMutexLocker locker(&m_mutex); + const auto locker = qt_scoped_lock(m_mutex); m_refs.ref(); m_shares << ctx; } @@ -1454,7 +1455,7 @@ void QOpenGLContextGroupPrivate::removeContext(QOpenGLContext *ctx) bool deleteObject = false; { - QMutexLocker locker(&m_mutex); + const auto locker = qt_scoped_lock(m_mutex); m_shares.removeOne(ctx); if (ctx == m_context && !m_shares.isEmpty()) @@ -1502,7 +1503,7 @@ void QOpenGLContextGroupPrivate::cleanup() void QOpenGLContextGroupPrivate::deletePendingResources(QOpenGLContext *ctx) { - QMutexLocker locker(&m_mutex); + const auto locker = qt_scoped_lock(m_mutex); const QList<QOpenGLSharedResource *> pending = m_pendingDeletion; m_pendingDeletion.clear(); @@ -1543,7 +1544,7 @@ void QOpenGLContextGroupPrivate::deletePendingResources(QOpenGLContext *ctx) QOpenGLSharedResource::QOpenGLSharedResource(QOpenGLContextGroup *group) : m_group(group) { - QMutexLocker locker(&m_group->d_func()->m_mutex); + const auto locker = qt_scoped_lock(m_group->d_func()->m_mutex); m_group->d_func()->m_sharedResources << this; } @@ -1559,7 +1560,7 @@ void QOpenGLSharedResource::free() return; } - QMutexLocker locker(&m_group->d_func()->m_mutex); + const auto locker = qt_scoped_lock(m_group->d_func()->m_mutex); m_group->d_func()->m_sharedResources.removeOne(this); m_group->d_func()->m_pendingDeletion << this; @@ -1607,8 +1608,7 @@ void QOpenGLSharedResourceGuard::freeResource(QOpenGLContext *context) QOpenGLMultiGroupSharedResource instance. */ QOpenGLMultiGroupSharedResource::QOpenGLMultiGroupSharedResource() - : active(0), - m_mutex(QMutex::Recursive) + : active(0) { #ifdef QT_GL_CONTEXT_RESOURCE_DEBUG qDebug("Creating context group resource object %p.", this); @@ -1631,7 +1631,7 @@ QOpenGLMultiGroupSharedResource::~QOpenGLMultiGroupSharedResource() active.deref(); } #ifndef QT_NO_DEBUG - if (active.load() != 0) { + if (active.loadRelaxed() != 0) { qWarning("QtGui: Resources are still available at program shutdown.\n" " This is possibly caused by a leaked QOpenGLWidget, \n" " QOpenGLFramebufferObject or QOpenGLPixelBuffer."); |