|
@@ -106,6 +106,7 @@ void KarteDaten::Loader::thread()
|
|
|
kd->geladen = 2;
|
|
|
if( kd->ausgewählt )
|
|
|
{
|
|
|
+ kd->beschreibung->lock();
|
|
|
kd->animation |= 0x4;
|
|
|
kd->beschreibung->neuLaden();
|
|
|
KSGSGetVariable getKSGSVar = (KSGSGetVariable)GetProcAddress( kd->ksgs, KSGS_VARIABLE_FUNKTION );
|
|
@@ -117,6 +118,7 @@ void KarteDaten::Loader::thread()
|
|
|
KSGSVariable *var = kd->beschreibung->startFunktion( kd->beschreibung->getFunktionId( "_set_Erlaubt" ), params );
|
|
|
if( var )
|
|
|
var->release();
|
|
|
+ kd->beschreibung->unlock();
|
|
|
}
|
|
|
}
|
|
|
kd->rend = 1;
|
|
@@ -206,6 +208,8 @@ void KarteDaten::updateErlaubt()
|
|
|
erlaubt = infoClient->istKarteErlaubt( karteId );
|
|
|
if( update != erlaubt && beschreibung && ksgs )
|
|
|
{
|
|
|
+
|
|
|
+ beschreibung->lock();
|
|
|
KSGSGetVariable getKSGSVar = (KSGSGetVariable)GetProcAddress( ksgs, KSGS_VARIABLE_FUNKTION );
|
|
|
RCArray< KSGSVariable > *params = new RCArray< KSGSVariable >();
|
|
|
KSGSVariableDef p1;
|
|
@@ -215,6 +219,7 @@ void KarteDaten::updateErlaubt()
|
|
|
KSGSVariable *var = beschreibung->startFunktion( beschreibung->getFunktionId( "_set_Erlaubt" ), params );
|
|
|
if( var )
|
|
|
var->release();
|
|
|
+ beschreibung->unlock();
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -306,6 +311,7 @@ void KarteDaten::setAuswahl( bool auswahl )
|
|
|
animation |= 0x4;
|
|
|
if( beschreibung && ksgs )
|
|
|
{
|
|
|
+ beschreibung->lock();
|
|
|
beschreibung->neuLaden();
|
|
|
KSGSGetVariable getKSGSVar = (KSGSGetVariable)GetProcAddress( ksgs, KSGS_VARIABLE_FUNKTION );
|
|
|
RCArray< KSGSVariable > *params = new RCArray< KSGSVariable >();
|
|
@@ -316,6 +322,7 @@ void KarteDaten::setAuswahl( bool auswahl )
|
|
|
KSGSVariable *var = beschreibung->startFunktion( beschreibung->getFunktionId( "_set_Erlaubt" ), params );
|
|
|
if( var )
|
|
|
var->release();
|
|
|
+ beschreibung->unlock();
|
|
|
}
|
|
|
}
|
|
|
else
|
|
@@ -332,7 +339,11 @@ void KarteDaten::setPosition( int lPos )
|
|
|
bool KarteDaten::tick( double tickVal )
|
|
|
{
|
|
|
if( beschreibung )
|
|
|
+ {
|
|
|
+ beschreibung->lock();
|
|
|
rend |= beschreibung->tick( tickVal );
|
|
|
+ beschreibung->unlock();
|
|
|
+ }
|
|
|
this->tickVal += tickVal * 500;
|
|
|
int val = ( int ) this->tickVal;
|
|
|
if( val < 1 )
|