From 5fcbe96c43a70deab3d0ec9af3ecec6c906d245d Mon Sep 17 00:00:00 2001 From: Wolf Bergenheim Date: Fri, 28 May 2010 11:19:21 +0300 Subject: Fixed bug in trying to register too many times when the first acquire is called often. --- libresourceqt/src/resource-set.cpp | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'libresourceqt/src/resource-set.cpp') diff --git a/libresourceqt/src/resource-set.cpp b/libresourceqt/src/resource-set.cpp index d39d445..7dfd5d7 100644 --- a/libresourceqt/src/resource-set.cpp +++ b/libresourceqt/src/resource-set.cpp @@ -193,19 +193,19 @@ Resource * ResourceSet::resource(ResourceType type) const bool ResourceSet::acquire() { if (!initialized) { - qDebug("**************** ResourceSet::%s().... %d", __FUNCTION__, __LINE__); + qDebug("ResourceSet::%s().... initializing...", __FUNCTION__); pendingAcquire = true; return initialize(); } if (!resourceEngine->isConnectedToManager()) { - qDebug("**************** ResourceSet::%s().... %d", __FUNCTION__, __LINE__); + qDebug("ResourceSet::%s().... connecting...", __FUNCTION__); pendingAcquire = true; resourceEngine->connectToManager(); return true; } else { - qDebug("**************** ResourceSet::%s().... %d", __FUNCTION__, __LINE__); + qDebug("ResourceSet::%s().... acquiring", __FUNCTION__); return resourceEngine->acquireResources(); } } @@ -216,6 +216,7 @@ bool ResourceSet::release() return true; } + qDebug("ResourceSet::%s().... releasing...", __FUNCTION__); return resourceEngine->releaseResources(); } @@ -227,8 +228,10 @@ bool ResourceSet::update() if (!resourceEngine->isConnectedToManager()) { pendingUpdate = true; + resourceEngine->connectToManager(); return true; } + qDebug("ResourceSet::%s().... updating...", __FUNCTION__); return resourceEngine->updateResources(); } @@ -267,6 +270,7 @@ void ResourceSet::connectedHandler() { qDebug("**************** ResourceSet::%s().... %d", __FUNCTION__, __LINE__); qDebug("Connected to manager!"); + if (pendingAudioProperties) { registerAudioProperties(); } @@ -287,8 +291,9 @@ void ResourceSet::registerAudioProperties() pendingAudioProperties = true; initialize(); } - else if (!resourceEngine->isConnectedToManager()) { + if (!resourceEngine->isConnectedToManager() && !resourceEngine->isConnectingToManager()) { qDebug("%s(): Connecting to Manager...", __FUNCTION__); + pendingAudioProperties = true; resourceEngine->connectToManager(); } -- cgit v1.2.3