@ -52,7 +52,7 @@
// TQStyleControlElementData
// TQStyleControlElementData
# include "ntqstyle.h"
# include "ntqstyle.h"
# if def TQT_THREAD_SUPPORT
# if n def TQT_NO_ THREAD
# include "ntqmutex.h"
# include "ntqmutex.h"
# include <private/qmutexpool_p.h>
# include <private/qmutexpool_p.h>
# include "ntqthread.h"
# include "ntqthread.h"
@ -105,7 +105,7 @@ class TQObjectPrivate {
public :
public :
# ifndef TQT_NO_USERDATA
# ifndef TQT_NO_USERDATA
TQObjectPrivate ( uint s ) : TQPtrVector < TQObjectUserData > ( s ) {
TQObjectPrivate ( uint s ) : TQPtrVector < TQObjectUserData > ( s ) {
# if def TQT_THREAD_SUPPORT
# if n def TQT_NO_ THREAD
ownThread = NULL ;
ownThread = NULL ;
disableThreadPostedEvents = false ;
disableThreadPostedEvents = false ;
# endif
# endif
@ -118,7 +118,7 @@ public:
delete controlElementDataPrivate ;
delete controlElementDataPrivate ;
}
}
# endif
# endif
# if def TQT_THREAD_SUPPORT
# if n def TQT_NO_ THREAD
TQThread * ownThread ;
TQThread * ownThread ;
TQMutex * senderObjectListMutex ;
TQMutex * senderObjectListMutex ;
TQMutex * childObjectListMutex ;
TQMutex * childObjectListMutex ;
@ -142,16 +142,14 @@ TQStyleControlElementDataPrivate* TQObject::controlElementDataPrivateObject() {
return d - > controlElementDataPrivate ;
return d - > controlElementDataPrivate ;
}
}
# if defined(TQT_THREAD_SUPPORT)
# if ndef TQT_NO_THREAD
void TQObject : : moveToThread_helper ( TQThread * targetThread )
void TQObject : : moveToThread_helper ( TQThread * targetThread )
{
{
TQEvent e ( TQEvent : : ThreadChange ) ;
TQEvent e ( TQEvent : : ThreadChange ) ;
TQApplication : : sendEvent ( this , & e ) ;
TQApplication : : sendEvent ( this , & e ) ;
# ifdef TQT_THREAD_SUPPORT
TQMutexLocker locker ( d - > childObjectListMutex ) ;
TQMutexLocker locker ( d - > childObjectListMutex ) ;
# endif // TQT_THREAD_SUPPORT
if ( childObjects ) {
if ( childObjects ) {
TQObject * child ;
TQObject * child ;
@ -167,9 +165,7 @@ void TQObject::setThreadObject_helper(TQThread *targetThread)
{
{
d - > ownThread = targetThread ;
d - > ownThread = targetThread ;
# ifdef TQT_THREAD_SUPPORT
TQMutexLocker locker ( d - > childObjectListMutex ) ;
TQMutexLocker locker ( d - > childObjectListMutex ) ;
# endif // TQT_THREAD_SUPPORT
if ( childObjects ) {
if ( childObjects ) {
TQObject * child ;
TQObject * child ;
@ -197,9 +193,7 @@ void TQObject::setThreadObject_helper(TQThread *targetThread)
*/
*/
void TQObject : : moveToThread ( TQThread * targetThread )
void TQObject : : moveToThread ( TQThread * targetThread )
{
{
# ifdef TQT_THREAD_SUPPORT
TQMutexLocker locker ( TQApplication : : tqt_mutex ) ;
TQMutexLocker locker ( TQApplication : : tqt_mutex ) ;
# endif // TQT_THREAD_SUPPORT
if ( parentObj ) {
if ( parentObj ) {
# if defined(QT_DEBUG)
# if defined(QT_DEBUG)
@ -252,7 +246,7 @@ void TQObject::disableThreadPostedEvents(bool disable) {
d - > disableThreadPostedEvents = disable ;
d - > disableThreadPostedEvents = disable ;
}
}
# endif // defined( TQT_THREAD_SUPPORT )
# endif // TQT_NO_ THREAD)
class TQSenderObjectList : public TQObjectList , public TQShared
class TQSenderObjectList : public TQObjectList , public TQShared
{
{
@ -262,19 +256,19 @@ class TQSenderObjectList : public TQObjectList, public TQShared
public :
public :
TQObject * currentSender ;
TQObject * currentSender ;
# if def TQT_THREAD_SUPPORT
# if n def TQT_NO_ THREAD
TQMutex * listMutex ;
TQMutex * listMutex ;
# endif
# endif
} ;
} ;
TQSenderObjectList : : TQSenderObjectList ( ) : currentSender ( 0 ) {
TQSenderObjectList : : TQSenderObjectList ( ) : currentSender ( 0 ) {
# if def TQT_THREAD_SUPPORT
# if n def TQT_NO_ THREAD
listMutex = new TQMutex ( TRUE ) ;
listMutex = new TQMutex ( TRUE ) ;
# endif
# endif
}
}
TQSenderObjectList : : ~ TQSenderObjectList ( ) {
TQSenderObjectList : : ~ TQSenderObjectList ( ) {
# if def TQT_THREAD_SUPPORT
# if n def TQT_NO_ THREAD
delete listMutex ;
delete listMutex ;
# endif
# endif
}
}
@ -509,7 +503,7 @@ void *tqt_find_obj_child( TQObject *parent, const char *type, const char *name )
return 0 ;
return 0 ;
}
}
# if def TQT_THREAD_SUPPORT
# if n def TQT_NO_ THREAD
/*!
/*!
Returns a pointer to the TQThread * associated with
Returns a pointer to the TQThread * associated with
@ -548,12 +542,12 @@ static void qt_spy_signal( TQObject* sender, int signal, TQUObject* o )
s . sprintf ( " %s_%s " , mo - > className ( ) , sigData - > name ) ;
s . sprintf ( " %s_%s " , mo - > className ( ) , sigData - > name ) ;
int slot = tqt_preliminary_signal_spy - > metaObject ( ) - > findSlot ( s , TRUE ) ;
int slot = tqt_preliminary_signal_spy - > metaObject ( ) - > findSlot ( s , TRUE ) ;
if ( slot > = 0 ) {
if ( slot > = 0 ) {
# if def TQT_THREAD_SUPPORT
# if n def TQT_NO_ THREAD
// protect access to qt_spy_signal_sender
// protect access to qt_spy_signal_sender
void * const address = & qt_spy_signal_sender ;
void * const address = & qt_spy_signal_sender ;
TQMutexLocker locker ( tqt_global_mutexpool ?
TQMutexLocker locker ( tqt_global_mutexpool ?
tqt_global_mutexpool - > get ( address ) : 0 ) ;
tqt_global_mutexpool - > get ( address ) : 0 ) ;
# endif // TQT_ THREAD_SUPPORT
# endif // TQT_ NO_ THREAD
TQObject * old_sender = qt_spy_signal_sender ;
TQObject * old_sender = qt_spy_signal_sender ;
qt_spy_signal_sender = sender ;
qt_spy_signal_sender = sender ;
@ -572,7 +566,7 @@ static void qt_spy_signal( TQObject* sender, int signal, TQUObject* o )
static TQObjectList * object_trees = 0 ;
static TQObjectList * object_trees = 0 ;
# if def TQT_THREAD_SUPPORT
# if n def TQT_NO_ THREAD
static TQMutex * obj_trees_mutex = 0 ;
static TQMutex * obj_trees_mutex = 0 ;
# endif
# endif
@ -580,7 +574,7 @@ static void cleanup_object_trees()
{
{
delete object_trees ;
delete object_trees ;
object_trees = 0 ;
object_trees = 0 ;
# if def TQT_THREAD_SUPPORT
# if n def TQT_NO_ THREAD
delete obj_trees_mutex ;
delete obj_trees_mutex ;
obj_trees_mutex = 0 ;
obj_trees_mutex = 0 ;
# endif
# endif
@ -594,7 +588,7 @@ static void ensure_object_trees()
static void insert_tree ( TQObject * obj )
static void insert_tree ( TQObject * obj )
{
{
# if def TQT_THREAD_SUPPORT
# if n def TQT_NO_ THREAD
if ( ! obj_trees_mutex )
if ( ! obj_trees_mutex )
obj_trees_mutex = new TQMutex ( ) ;
obj_trees_mutex = new TQMutex ( ) ;
TQMutexLocker locker ( obj_trees_mutex ) ;
TQMutexLocker locker ( obj_trees_mutex ) ;
@ -607,7 +601,7 @@ static void insert_tree( TQObject* obj )
static void remove_tree ( TQObject * obj )
static void remove_tree ( TQObject * obj )
{
{
if ( object_trees ) {
if ( object_trees ) {
# if def TQT_THREAD_SUPPORT
# if n def TQT_NO_ THREAD
TQMutexLocker locker ( obj_trees_mutex ) ;
TQMutexLocker locker ( obj_trees_mutex ) ;
# endif
# endif
object_trees - > removeRef ( obj ) ;
object_trees - > removeRef ( obj ) ;
@ -685,7 +679,7 @@ TQObject::TQObject( TQObject *parent, const char *name )
d = new TQObjectPrivate ( 0 ) ;
d = new TQObjectPrivate ( 0 ) ;
}
}
# if def TQT_THREAD_SUPPORT
# if n def TQT_NO_ THREAD
d - > ownThread = TQThread : : currentThreadObject ( ) ;
d - > ownThread = TQThread : : currentThreadObject ( ) ;
d - > senderObjectListMutex = new TQMutex ( TRUE ) ;
d - > senderObjectListMutex = new TQMutex ( TRUE ) ;
d - > childObjectListMutex = new TQMutex ( TRUE ) ;
d - > childObjectListMutex = new TQMutex ( TRUE ) ;
@ -777,7 +771,7 @@ TQObject::~TQObject()
while ( ( c = cit . current ( ) ) ) { // for each connected slot...
while ( ( c = cit . current ( ) ) ) { // for each connected slot...
+ + cit ;
+ + cit ;
if ( ( obj = c - > object ( ) ) ) {
if ( ( obj = c - > object ( ) ) ) {
# if def TQT_THREAD_SUPPORT
# if ndef TQ_NO_THREAD
TQMutexLocker locker ( obj - > senderObjects - > listMutex ) ;
TQMutexLocker locker ( obj - > senderObjects - > listMutex ) ;
# endif
# endif
removeObjFromList ( obj - > senderObjects , this ) ;
removeObjFromList ( obj - > senderObjects , this ) ;
@ -804,10 +798,10 @@ TQObject::~TQObject()
delete childObjects ;
delete childObjects ;
}
}
# if def TQT_THREAD_SUPPORT
# if n def TQT_NO_ THREAD
delete d - > childObjectListMutex ;
delete d - > childObjectListMutex ;
delete d - > senderObjectListMutex ;
delete d - > senderObjectListMutex ;
# endif // TQT_ THREAD_SUPPORT
# endif // TQT_ NO_ THREAD
delete d ;
delete d ;
}
}
@ -1099,25 +1093,25 @@ bool TQObject::event( TQEvent *e )
{
{
TQMetaCallEvent * metaEvent = dynamic_cast < TQMetaCallEvent * > ( e ) ;
TQMetaCallEvent * metaEvent = dynamic_cast < TQMetaCallEvent * > ( e ) ;
if ( metaEvent ) {
if ( metaEvent ) {
# if def TQT_THREAD_SUPPORT
# if n def TQT_NO_ THREAD
if ( ( d - > disableThreadPostedEvents )
if ( ( d - > disableThreadPostedEvents )
| | ( d - > ownThread = = TQThread : : currentThreadObject ( ) ) )
| | ( d - > ownThread = = TQThread : : currentThreadObject ( ) ) )
# endif // TQT_ THREAD_SUPPORT
# endif // TQT_ NO_ THREAD
{
{
TQSenderObjectList * sol ;
TQSenderObjectList * sol ;
TQObject * oldSender = 0 ;
TQObject * oldSender = 0 ;
sol = senderObjects ;
sol = senderObjects ;
# if def TQT_THREAD_SUPPORT
# if n def TQT_NO_ THREAD
sol - > listMutex - > lock ( ) ;
sol - > listMutex - > lock ( ) ;
# endif // TQT_ THREAD_SUPPORT
# endif // TQT_ NO_ THREAD
if ( sol ) {
if ( sol ) {
oldSender = sol - > currentSender ;
oldSender = sol - > currentSender ;
sol - > ref ( ) ;
sol - > ref ( ) ;
sol - > currentSender = metaEvent - > sender ( ) ;
sol - > currentSender = metaEvent - > sender ( ) ;
}
}
# if def TQT_THREAD_SUPPORT
# if n def TQT_NO_ THREAD
sol - > listMutex - > unlock ( ) ;
sol - > listMutex - > unlock ( ) ;
# endif // TQT_ THREAD_SUPPORT
# endif // TQT_ NO_ THREAD
TQUObject * o = metaEvent - > data ( ) ;
TQUObject * o = metaEvent - > data ( ) ;
if ( metaEvent - > type ( ) = = TQMetaCallEvent : : MetaCallEmit ) {
if ( metaEvent - > type ( ) = = TQMetaCallEvent : : MetaCallEmit ) {
tqt_emit ( metaEvent - > id ( ) , o ) ;
tqt_emit ( metaEvent - > id ( ) , o ) ;
@ -1125,28 +1119,28 @@ bool TQObject::event( TQEvent *e )
if ( metaEvent - > type ( ) = = TQMetaCallEvent : : MetaCallInvoke ) {
if ( metaEvent - > type ( ) = = TQMetaCallEvent : : MetaCallInvoke ) {
tqt_invoke ( metaEvent - > id ( ) , o ) ;
tqt_invoke ( metaEvent - > id ( ) , o ) ;
}
}
# if def TQT_THREAD_SUPPORT
# if n def TQT_NO_ THREAD
sol - > listMutex - > lock ( ) ;
sol - > listMutex - > lock ( ) ;
# endif // TQT_ THREAD_SUPPORT
# endif // TQT_ NO_ THREAD
if ( sol ) {
if ( sol ) {
sol - > currentSender = oldSender ;
sol - > currentSender = oldSender ;
if ( sol - > deref ( ) ) {
if ( sol - > deref ( ) ) {
# if def TQT_THREAD_SUPPORT
# if n def TQT_NO_ THREAD
sol - > listMutex - > unlock ( ) ;
sol - > listMutex - > unlock ( ) ;
# endif // TQT_ THREAD_SUPPORT
# endif // TQT_ NO_ THREAD
delete sol ;
delete sol ;
sol = NULL ;
sol = NULL ;
}
}
}
}
# if def TQT_THREAD_SUPPORT
# if n def TQT_NO_ THREAD
if ( sol ) sol - > listMutex - > unlock ( ) ;
if ( sol ) sol - > listMutex - > unlock ( ) ;
# endif // TQT_ THREAD_SUPPORT
# endif // TQT_ NO_ THREAD
}
}
# if def TQT_THREAD_SUPPORT
# if n def TQT_NO_ THREAD
else {
else {
tqWarning ( " TQObject: Ignoring metacall event from non-owning thread " ) ;
tqWarning ( " TQObject: Ignoring metacall event from non-owning thread " ) ;
}
}
# endif // TQT_ THREAD_SUPPORT
# endif // TQT_ NO_ THREAD
destroyDeepCopiedTQUObjectArray ( metaEvent - > data ( ) ) ;
destroyDeepCopiedTQUObjectArray ( metaEvent - > data ( ) ) ;
}
}
}
}
@ -1648,9 +1642,9 @@ TQConnectionList *TQObject::receivers( int signal ) const
void TQObject : : insertChild ( TQObject * obj )
void TQObject : : insertChild ( TQObject * obj )
{
{
# if def TQT_THREAD_SUPPORT
# if n def TQT_NO_ THREAD
TQMutexLocker locker ( d - > childObjectListMutex ) ;
TQMutexLocker locker ( d - > childObjectListMutex ) ;
# endif // TQT_ THREAD_SUPPORT
# endif // TQT_ NO_ THREAD
if ( obj - > isTree ) {
if ( obj - > isTree ) {
remove_tree ( obj ) ;
remove_tree ( obj ) ;
@ -1694,9 +1688,9 @@ void TQObject::insertChild( TQObject *obj )
void TQObject : : removeChild ( TQObject * obj )
void TQObject : : removeChild ( TQObject * obj )
{
{
# if def TQT_THREAD_SUPPORT
# if n def TQT_NO_ THREAD
TQMutexLocker locker ( d - > childObjectListMutex ) ;
TQMutexLocker locker ( d - > childObjectListMutex ) ;
# endif // TQT_ THREAD_SUPPORT
# endif // TQT_ NO_ THREAD
if ( childObjects & & childObjects - > removeRef ( obj ) ) {
if ( childObjects & & childObjects - > removeRef ( obj ) ) {
obj - > parentObj = 0 ;
obj - > parentObj = 0 ;
@ -1934,12 +1928,12 @@ const TQObject *TQObject::sender()
{
{
# ifndef TQT_NO_PRELIMINARY_SIGNAL_SPY
# ifndef TQT_NO_PRELIMINARY_SIGNAL_SPY
if ( this = = tqt_preliminary_signal_spy ) {
if ( this = = tqt_preliminary_signal_spy ) {
# if def TQT_THREAD_SUPPORT
# if n def TQT_NO_ THREAD
// protect access to qt_spy_signal_sender
// protect access to qt_spy_signal_sender
void * const address = & qt_spy_signal_sender ;
void * const address = & qt_spy_signal_sender ;
TQMutexLocker locker ( tqt_global_mutexpool ?
TQMutexLocker locker ( tqt_global_mutexpool ?
tqt_global_mutexpool - > get ( address ) : 0 ) ;
tqt_global_mutexpool - > get ( address ) : 0 ) ;
# endif // TQT_ THREAD_SUPPORT
# endif // TQT_ NO_ THREAD
return qt_spy_signal_sender ;
return qt_spy_signal_sender ;
}
}
# endif
# endif
@ -2282,24 +2276,24 @@ void TQObject::connectInternal( const TQObject *sender, int signal_index, const
TQ_CHECK_PTR ( c ) ;
TQ_CHECK_PTR ( c ) ;
clist - > append ( c ) ;
clist - > append ( c ) ;
if ( ! r - > senderObjects ) { // create list of senders
if ( ! r - > senderObjects ) { // create list of senders
# if def TQT_THREAD_SUPPORT
# if n def TQT_NO_ THREAD
r - > d - > senderObjectListMutex - > lock ( ) ;
r - > d - > senderObjectListMutex - > lock ( ) ;
# endif // TQT_ THREAD_SUPPORT
# endif // TQT_ NO_ THREAD
r - > senderObjects = new TQSenderObjectList ;
r - > senderObjects = new TQSenderObjectList ;
# if def TQT_THREAD_SUPPORT
# if n def TQT_NO_ THREAD
r - > senderObjects - > listMutex - > lock ( ) ;
r - > senderObjects - > listMutex - > lock ( ) ;
r - > d - > senderObjectListMutex - > unlock ( ) ;
r - > d - > senderObjectListMutex - > unlock ( ) ;
# endif // TQT_ THREAD_SUPPORT
# endif // TQT_ NO_ THREAD
}
}
else {
else {
# if def TQT_THREAD_SUPPORT
# if n def TQT_NO_ THREAD
r - > senderObjects - > listMutex - > lock ( ) ;
r - > senderObjects - > listMutex - > lock ( ) ;
# endif // TQT_ THREAD_SUPPORT
# endif // TQT_ NO_ THREAD
}
}
r - > senderObjects - > append ( s ) ; // add sender to list
r - > senderObjects - > append ( s ) ; // add sender to list
# if def TQT_THREAD_SUPPORT
# if n def TQT_NO_ THREAD
r - > senderObjects - > listMutex - > unlock ( ) ;
r - > senderObjects - > listMutex - > unlock ( ) ;
# endif // TQT_ THREAD_SUPPORT
# endif // TQT_ NO_ THREAD
}
}
@ -2505,25 +2499,25 @@ bool TQObject::disconnectInternal( const TQObject *sender, int signal_index,
c = clist - > first ( ) ;
c = clist - > first ( ) ;
while ( c ) { // for all receivers...
while ( c ) { // for all receivers...
if ( r = = 0 ) { // remove all receivers
if ( r = = 0 ) { // remove all receivers
# if def TQT_THREAD_SUPPORT
# if n def TQT_NO_ THREAD
if ( c - > object ( ) - > senderObjects ) c - > object ( ) - > senderObjects - > listMutex - > lock ( ) ;
if ( c - > object ( ) - > senderObjects ) c - > object ( ) - > senderObjects - > listMutex - > lock ( ) ;
# endif // TQT_ THREAD_SUPPORT
# endif // TQT_ NO_ THREAD
removeObjFromList ( c - > object ( ) - > senderObjects , s ) ;
removeObjFromList ( c - > object ( ) - > senderObjects , s ) ;
# if def TQT_THREAD_SUPPORT
# if n def TQT_NO_ THREAD
if ( c - > object ( ) - > senderObjects ) c - > object ( ) - > senderObjects - > listMutex - > unlock ( ) ;
if ( c - > object ( ) - > senderObjects ) c - > object ( ) - > senderObjects - > listMutex - > unlock ( ) ;
# endif // TQT_ THREAD_SUPPORT
# endif // TQT_ NO_ THREAD
success = TRUE ;
success = TRUE ;
c = clist - > next ( ) ;
c = clist - > next ( ) ;
} else if ( r = = c - > object ( ) & &
} else if ( r = = c - > object ( ) & &
( ( member_index = = - 1 ) | |
( ( member_index = = - 1 ) | |
( ( member_index = = c - > member ( ) ) & & ( c - > memberType ( ) = = membcode ) ) ) ) {
( ( member_index = = c - > member ( ) ) & & ( c - > memberType ( ) = = membcode ) ) ) ) {
# if def TQT_THREAD_SUPPORT
# if n def TQT_NO_ THREAD
if ( c - > object ( ) - > senderObjects ) c - > object ( ) - > senderObjects - > listMutex - > lock ( ) ;
if ( c - > object ( ) - > senderObjects ) c - > object ( ) - > senderObjects - > listMutex - > lock ( ) ;
# endif // TQT_ THREAD_SUPPORT
# endif // TQT_ NO_ THREAD
removeObjFromList ( c - > object ( ) - > senderObjects , s , TRUE ) ;
removeObjFromList ( c - > object ( ) - > senderObjects , s , TRUE ) ;
# if def TQT_THREAD_SUPPORT
# if n def TQT_NO_ THREAD
if ( c - > object ( ) - > senderObjects ) c - > object ( ) - > senderObjects - > listMutex - > unlock ( ) ;
if ( c - > object ( ) - > senderObjects ) c - > object ( ) - > senderObjects - > listMutex - > unlock ( ) ;
# endif // TQT_ THREAD_SUPPORT
# endif // TQT_ NO_ THREAD
success = TRUE ;
success = TRUE ;
clist - > remove ( ) ;
clist - > remove ( ) ;
c = clist - > current ( ) ;
c = clist - > current ( ) ;
@ -2542,25 +2536,25 @@ bool TQObject::disconnectInternal( const TQObject *sender, int signal_index,
c = clist - > first ( ) ;
c = clist - > first ( ) ;
while ( c ) { // for all receivers...
while ( c ) { // for all receivers...
if ( r = = 0 ) { // remove all receivers
if ( r = = 0 ) { // remove all receivers
# if def TQT_THREAD_SUPPORT
# if n def TQT_NO_ THREAD
if ( c - > object ( ) - > senderObjects ) c - > object ( ) - > senderObjects - > listMutex - > lock ( ) ;
if ( c - > object ( ) - > senderObjects ) c - > object ( ) - > senderObjects - > listMutex - > lock ( ) ;
# endif // TQT_ THREAD_SUPPORT
# endif // TQT_ NO_ THREAD
removeObjFromList ( c - > object ( ) - > senderObjects , s , TRUE ) ;
removeObjFromList ( c - > object ( ) - > senderObjects , s , TRUE ) ;
# if def TQT_THREAD_SUPPORT
# if n def TQT_NO_ THREAD
if ( c - > object ( ) - > senderObjects ) c - > object ( ) - > senderObjects - > listMutex - > unlock ( ) ;
if ( c - > object ( ) - > senderObjects ) c - > object ( ) - > senderObjects - > listMutex - > unlock ( ) ;
# endif // TQT_ THREAD_SUPPORT
# endif // TQT_ NO_ THREAD
success = TRUE ;
success = TRUE ;
c = clist - > next ( ) ;
c = clist - > next ( ) ;
} else if ( r = = c - > object ( ) & &
} else if ( r = = c - > object ( ) & &
( ( member_index = = - 1 ) | |
( ( member_index = = - 1 ) | |
( ( member_index = = c - > member ( ) ) & & ( c - > memberType ( ) = = membcode ) ) ) ) {
( ( member_index = = c - > member ( ) ) & & ( c - > memberType ( ) = = membcode ) ) ) ) {
# if def TQT_THREAD_SUPPORT
# if n def TQT_NO_ THREAD
if ( c - > object ( ) - > senderObjects ) c - > object ( ) - > senderObjects - > listMutex - > lock ( ) ;
if ( c - > object ( ) - > senderObjects ) c - > object ( ) - > senderObjects - > listMutex - > lock ( ) ;
# endif // TQT_ THREAD_SUPPORT
# endif // TQT_ NO_ THREAD
removeObjFromList ( c - > object ( ) - > senderObjects , s , TRUE ) ;
removeObjFromList ( c - > object ( ) - > senderObjects , s , TRUE ) ;
# if def TQT_THREAD_SUPPORT
# if n def TQT_NO_ THREAD
if ( c - > object ( ) - > senderObjects ) c - > object ( ) - > senderObjects - > listMutex - > unlock ( ) ;
if ( c - > object ( ) - > senderObjects ) c - > object ( ) - > senderObjects - > listMutex - > unlock ( ) ;
# endif // TQT_ THREAD_SUPPORT
# endif // TQT_ NO_ THREAD
success = TRUE ;
success = TRUE ;
clist - > remove ( ) ;
clist - > remove ( ) ;
c = clist - > current ( ) ;
c = clist - > current ( ) ;
@ -2791,10 +2785,10 @@ void TQObject::activate_signal( TQConnectionList *clist, TQUObject *o )
}
}
# endif
# endif
# if def TQT_THREAD_SUPPORT
# if n def TQT_NO_ THREAD
// NOTE currentThread could be NULL if the current thread was not started using the TQThread API
// NOTE currentThread could be NULL if the current thread was not started using the TQThread API
const TQThread * currentThread = TQThread : : currentThreadObject ( ) ;
const TQThread * currentThread = TQThread : : currentThreadObject ( ) ;
# endif // TQT_ THREAD_SUPPORT
# endif // TQT_ NO_ THREAD
// Some slots are deleting the sender. It's not that great, but it's widespread enough,
// Some slots are deleting the sender. It's not that great, but it's widespread enough,
// so we can't track all such issues. So, we have to workaround this somehow.
// so we can't track all such issues. So, we have to workaround this somehow.
@ -2813,15 +2807,15 @@ void TQObject::activate_signal( TQConnectionList *clist, TQUObject *o )
TQObject * oldSender ;
TQObject * oldSender ;
TQSenderObjectList * sol = object - > senderObjects ;
TQSenderObjectList * sol = object - > senderObjects ;
if ( sol ) {
if ( sol ) {
# if def TQT_THREAD_SUPPORT
# if n def TQT_NO_ THREAD
sol - > listMutex - > lock ( ) ;
sol - > listMutex - > lock ( ) ;
# endif // TQT_ THREAD_SUPPORT
# endif // TQT_ NO_ THREAD
oldSender = sol - > currentSender ;
oldSender = sol - > currentSender ;
sol - > ref ( ) ;
sol - > ref ( ) ;
sol - > currentSender = this ;
sol - > currentSender = this ;
}
}
if ( c - > memberType ( ) = = TQ_SIGNAL_CODE ) {
if ( c - > memberType ( ) = = TQ_SIGNAL_CODE ) {
# if def TQT_THREAD_SUPPORT
# if n def TQT_NO_ THREAD
if ( ( d - > disableThreadPostedEvents ) | |
if ( ( d - > disableThreadPostedEvents ) | |
( object - > d - > disableThreadPostedEvents ) | |
( object - > d - > disableThreadPostedEvents ) | |
( currentThread & & currentThread - > threadPostedEventsDisabled ( ) ) | |
( currentThread & & currentThread - > threadPostedEventsDisabled ( ) ) | |
@ -2839,12 +2833,12 @@ void TQObject::activate_signal( TQConnectionList *clist, TQUObject *o )
TQApplication : : postEvent ( object , new TQMetaCallEvent ( c - > member ( ) , this , deepCopyTQUObjectArray ( o ) , TQMetaCallEvent : : MetaCallEmit ) ) ;
TQApplication : : postEvent ( object , new TQMetaCallEvent ( c - > member ( ) , this , deepCopyTQUObjectArray ( o ) , TQMetaCallEvent : : MetaCallEmit ) ) ;
}
}
}
}
# else // !TQT_ THREAD_SUPPORT
# else // !TQT_ NO_ THREAD
object - > tqt_emit ( c - > member ( ) , o ) ;
object - > tqt_emit ( c - > member ( ) , o ) ;
# endif // TQT_ THREAD_SUPPORT
# endif // TQT_ NO_ THREAD
}
}
else {
else {
# if def TQT_THREAD_SUPPORT
# if n def TQT_NO_ THREAD
if ( ( d - > disableThreadPostedEvents ) | |
if ( ( d - > disableThreadPostedEvents ) | |
( object - > d - > disableThreadPostedEvents ) | |
( object - > d - > disableThreadPostedEvents ) | |
( currentThread & & currentThread - > threadPostedEventsDisabled ( ) ) | |
( currentThread & & currentThread - > threadPostedEventsDisabled ( ) ) | |
@ -2862,23 +2856,23 @@ void TQObject::activate_signal( TQConnectionList *clist, TQUObject *o )
TQApplication : : postEvent ( object , new TQMetaCallEvent ( c - > member ( ) , this , deepCopyTQUObjectArray ( o ) , TQMetaCallEvent : : MetaCallInvoke ) ) ;
TQApplication : : postEvent ( object , new TQMetaCallEvent ( c - > member ( ) , this , deepCopyTQUObjectArray ( o ) , TQMetaCallEvent : : MetaCallInvoke ) ) ;
}
}
}
}
# else // !TQT_ THREAD_SUPPORT
# else // !TQT_ NO_ THREAD
object - > tqt_invoke ( c - > member ( ) , o ) ;
object - > tqt_invoke ( c - > member ( ) , o ) ;
# endif // TQT_ THREAD_SUPPORT
# endif // TQT_ NO_ THREAD
}
}
if ( sol ) {
if ( sol ) {
sol - > currentSender = oldSender ;
sol - > currentSender = oldSender ;
if ( sol - > deref ( ) ) {
if ( sol - > deref ( ) ) {
# if def TQT_THREAD_SUPPORT
# if n def TQT_NO_ THREAD
sol - > listMutex - > unlock ( ) ;
sol - > listMutex - > unlock ( ) ;
# endif // TQT_ THREAD_SUPPORT
# endif // TQT_ NO_ THREAD
delete sol ;
delete sol ;
sol = NULL ;
sol = NULL ;
}
}
}
}
# if def TQT_THREAD_SUPPORT
# if n def TQT_NO_ THREAD
if ( sol ) sol - > listMutex - > unlock ( ) ;
if ( sol ) sol - > listMutex - > unlock ( ) ;
# endif // TQT_ THREAD_SUPPORT
# endif // TQT_ NO_ THREAD
}
}
// use a copy of the pointer here as at this point this might be already deleted; no pun intended ;)
// use a copy of the pointer here as at this point this might be already deleted; no pun intended ;)
@ -3021,9 +3015,9 @@ void TQObject::dumpObjectTree()
void TQObject : : dumpObjectInfo ( )
void TQObject : : dumpObjectInfo ( )
{
{
# if def TQT_THREAD_SUPPORT
# if n def TQT_NO_ THREAD
TQMutexLocker locker ( d - > senderObjectListMutex ) ;
TQMutexLocker locker ( d - > senderObjectListMutex ) ;
# endif // TQT_ THREAD_SUPPORT
# endif // TQT_ NO_ THREAD
# if defined(QT_DEBUG)
# if defined(QT_DEBUG)
tqDebug ( " OBJECT %s::%s " , className ( ) , name ( " unnamed " ) ) ;
tqDebug ( " OBJECT %s::%s " , className ( ) , name ( " unnamed " ) ) ;