View | Details | Raw Unified | Return to bug 115571
Collapse All | Expand All

(-)src/gvbusylevelmanager.cpp.sav (-1 / +11 lines)
Lines 64-77 GVBusyLevelManager* GVBusyLevelManager:: Link Here
64
void GVBusyLevelManager::setBusyLevel( QObject* obj, GVBusyLevel level ) {
64
void GVBusyLevelManager::setBusyLevel( QObject* obj, GVBusyLevel level ) {
65
	LOG("BUSY:" << level << ":" << obj << ":" << obj->className() );
65
	LOG("BUSY:" << level << ":" << obj << ":" << obj->className() );
66
	if( level > BUSY_NONE ) {
66
	if( level > BUSY_NONE ) {
67
		if( mBusyLevels[ obj ] == level )	return;
67
		if( mBusyLevels.contains( obj ) && mBusyLevels[ obj ] == level ) return;
68
		if( !mBusyLevels.contains( obj )) {
69
			connect( obj, SIGNAL( destroyed( QObject* )), this, SLOT( objectDestroyed( QObject* )));
70
		}
68
		mBusyLevels[ obj ] = level;
71
		mBusyLevels[ obj ] = level;
69
	} else {
72
	} else {
70
		mBusyLevels.remove( obj );
73
		mBusyLevels.remove( obj );
74
		disconnect( obj, SIGNAL( destroyed( QObject* )), this, SLOT( objectDestroyed( QObject* )));
71
	}
75
	}
72
	mDelayedBusyLevelTimer.start( 0, true );
76
	mDelayedBusyLevelTimer.start( 0, true );
73
}
77
}
74
78
79
void GVBusyLevelManager::objectDestroyed( QObject* obj ) {
80
	LOG("DESTROYED:" << obj );
81
	mBusyLevels.remove( obj );
82
	mDelayedBusyLevelTimer.start( 0, true );
83
}
84
75
void GVBusyLevelManager::delayedBusyLevelChanged() {
85
void GVBusyLevelManager::delayedBusyLevelChanged() {
76
	GVBusyLevel newLevel = BUSY_NONE;
86
	GVBusyLevel newLevel = BUSY_NONE;
77
	for( QMap< QObject*, GVBusyLevel >::ConstIterator it = mBusyLevels.begin();
87
	for( QMap< QObject*, GVBusyLevel >::ConstIterator it = mBusyLevels.begin();
(-)src/gvbusylevelmanager.h.sav (+1 lines)
Lines 66-71 signals: Link Here
66
66
67
private slots:
67
private slots:
68
	void delayedBusyLevelChanged();
68
	void delayedBusyLevelChanged();
69
	void objectDestroyed( QObject* obj );
69
70
70
private:
71
private:
71
	GVBusyLevelManager();
72
	GVBusyLevelManager();

Return to bug 115571