summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/kernel/qobject.cpp12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/kernel/qobject.cpp b/src/kernel/qobject.cpp
index 6b28b15ff..b8f1a6ee8 100644
--- a/src/kernel/qobject.cpp
+++ b/src/kernel/qobject.cpp
@@ -2809,10 +2809,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;
@@ -2824,9 +2824,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()) {
@@ -2847,9 +2847,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()) {