From ba2deea50adde9d33b65a4d1012f8402bf44b590 Mon Sep 17 00:00:00 2001 From: Alexander Golubev Date: Mon, 11 Mar 2024 18:52:17 +0300 Subject: [PATCH] TQObject::activate_signal: uniformly apply if(sol) checks It seems the situation where sol is NULL is theoretically possible. So keep the checks and apply those uniformly to all instances of access to `sol`. Signed-off-by: Alexander Golubev --- src/kernel/qobject.cpp | 20 ++++++++++---------- 1 file 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()) {