[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdeedu/marble/src/lib/geodata/data
From: Bastian Holst <bastianholst () gmx ! de>
Date: 2010-05-21 21:10:27
Message-ID: 20100521211027.ADD4AAC8BC () svn ! kde ! org
[Download RAW message or body]
SVN commit 1129284 by bholst:
Thread-Safe GeoDataRegion
M +4 -0 GeoDataRegion.cpp
M +8 -0 GeoDataRegion_p.h
--- trunk/KDE/kdeedu/marble/src/lib/geodata/data/GeoDataRegion.cpp #1129283:1129284
@@ -64,6 +64,7 @@
GeoDataLatLonAltBox& GeoDataRegion::latLonAltBox() const
{
+ QMutexLocker locker( &d->m_mutex );
// FIXME: This isn't exactly what a 'const' function should do, is it?
// If the latLonAltBox hasn't been set try to determine it automatically
@@ -101,6 +102,7 @@
void GeoDataRegion::setLatLonAltBox( const GeoDataLatLonAltBox & latLonAltBox )
{
+ QMutexLocker locker( &d->m_mutex );
delete d->m_latLonAltBox;
d->m_latLonAltBox = new GeoDataLatLonAltBox( latLonAltBox );
}
@@ -108,6 +110,7 @@
GeoDataLod& GeoDataRegion::lod() const
{
+ QMutexLocker locker( &d->m_mutex );
// If the lod hasn't been set then return a shared one
if ( !d->m_lod ) {
// FIXME: reference a shared object instead
@@ -120,6 +123,7 @@
void GeoDataRegion::setLod( const GeoDataLod & lod )
{
+ QMutexLocker locker( &d->m_mutex );
delete d->m_lod;
d->m_lod = new GeoDataLod( lod );
}
--- trunk/KDE/kdeedu/marble/src/lib/geodata/data/GeoDataRegion_p.h #1129283:1129284
@@ -15,6 +15,10 @@
#include "GeoDataTypes.h"
+//Qt
+#include <QtCore/QMutex>
+#include <QtCore/QMutexLocker>
+
namespace Marble
{
@@ -56,6 +60,7 @@
~GeoDataRegionPrivate()
{
+ QMutexLocker locker( &m_mutex );
delete m_latLonAltBox;
delete m_lod;
}
@@ -68,6 +73,7 @@
GeoDataRegionPrivate &operator=( const GeoDataRegionPrivate other )
{
+ QMutexLocker locker( &m_mutex );
m_parent = other.m_parent;
delete m_latLonAltBox;
if ( other.m_latLonAltBox ) {
@@ -91,6 +97,8 @@
GeoDataFeature * m_parent;
GeoDataLatLonAltBox * m_latLonAltBox;
GeoDataLod * m_lod;
+
+ QMutex m_mutex;
};
} // namespace Marble
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic