summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/kernel/qobject.cpp20
1 files changed, 10 insertions, 10 deletions
diff --git a/src/kernel/qobject.cpp b/src/kernel/qobject.cpp
index 44971cfe..5c78c17b 100644
--- a/src/kernel/qobject.cpp
+++ b/src/kernel/qobject.cpp
@@ -1094,10 +1094,10 @@ bool TQObject::event( TQEvent *e )
TQSenderObjectList* sol;
TQObject* oldSender = 0;
sol = senderObjects;
+ if ( sol ) {
#ifdef TQT_THREAD_SUPPORT
- sol->listMutex->lock();
+ sol->listMutex->lock();
#endif // TQT_THREAD_SUPPORT
- if ( sol ) {
oldSender = sol->currentSender;
sol->ref();
sol->currentSender = metaEvent->sender();
@@ -1112,10 +1112,10 @@ bool TQObject::event( TQEvent *e )
if (metaEvent->type() == TQMetaCallEvent::MetaCallInvoke) {
tqt_invoke( metaEvent->id(), o );
}
+ if (sol ) {
#ifdef TQT_THREAD_SUPPORT
- sol->listMutex->lock();
+ sol->listMutex->lock();
#endif // TQT_THREAD_SUPPORT
- if (sol ) {
sol->currentSender = oldSender;
if ( sol->deref() ) {
#ifdef TQT_THREAD_SUPPORT
@@ -2794,10 +2794,10 @@ void TQObject::activate_signal( TQConnectionList *clist, TQUObject *o )
TQObject *object = c->object();
TQObject *oldSender;
TQSenderObjectList* sol = object->senderObjects;
+ if ( sol ) {
#ifdef TQT_THREAD_SUPPORT
- sol->listMutex->lock();
+ sol->listMutex->lock();
#endif // TQT_THREAD_SUPPORT
- if ( sol ) {
oldSender = sol->currentSender;
sol->ref();
sol->currentSender = this;
@@ -2809,9 +2809,9 @@ void TQObject::activate_signal( TQConnectionList *clist, TQUObject *o )
(currentThread && currentThread->threadPostedEventsDisabled()) ||
(currentThread && object->d->ownThread == currentThread)
) {
- sol->listMutex->unlock();
+ if (sol) sol->listMutex->unlock();
object->tqt_emit( c->member(), o );
- sol->listMutex->lock();
+ if (sol) sol->listMutex->lock();
}
else {
if (object->d->ownThread && !object->d->ownThread->finished()) {
@@ -2832,9 +2832,9 @@ void TQObject::activate_signal( TQConnectionList *clist, TQUObject *o )
(currentThread && currentThread->threadPostedEventsDisabled()) ||
(currentThread && object->d->ownThread == currentThread)
) {
- sol->listMutex->unlock();
+ if (sol) sol->listMutex->unlock();
object->tqt_invoke( c->member(), o );
- sol->listMutex->lock();
+ if (sol) sol->listMutex->lock();
}
else {
if (object->d->ownThread && !object->d->ownThread->finished()) {