From a6fb90165a92f67caa4607a102c94cb9afe18f2c Mon Sep 17 00:00:00 2001 From: hjk Date: Thu, 16 Jul 2015 16:26:01 +0200 Subject: [PATCH] Utils: Fix lifetime of Aggregate lockers The QReadLocker died before locking anything. Change-Id: I8d50082bfcdd70c2e29cf637a6cfb327f106f2c3 Reviewed-by: Eike Ziller --- src/libs/aggregation/aggregate.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/libs/aggregation/aggregate.h b/src/libs/aggregation/aggregate.h index 1b4eee9003d..8a818b431b6 100644 --- a/src/libs/aggregation/aggregate.h +++ b/src/libs/aggregation/aggregate.h @@ -53,7 +53,7 @@ public: void remove(QObject *component); template T *component() { - QReadLocker(&lock()); + QReadLocker locker(&lock()); foreach (QObject *component, m_components) { if (T *result = qobject_cast(component)) return result; @@ -62,7 +62,7 @@ public: } template QList components() { - QReadLocker(&lock()); + QReadLocker locker(&lock()); QList results; foreach (QObject *component, m_components) { if (T *result = qobject_cast(component)) { @@ -101,7 +101,7 @@ template T *query(QObject *obj) return (T *)0; T *result = qobject_cast(obj); if (!result) { - QReadLocker(&lock()); + QReadLocker locker(&Aggregate::lock()); Aggregate *parentAggregation = Aggregate::parentAggregate(obj); result = (parentAggregation ? query(parentAggregation) : 0); } @@ -120,7 +120,7 @@ template QList query_all(QObject *obj) { if (!obj) return QList(); - QReadLocker(&lock()); + QReadLocker locker(&Aggregate::lock()); Aggregate *parentAggregation = Aggregate::parentAggregate(obj); QList results; if (parentAggregation)