diff options
-rw-r--r-- | AudioManagerDaemon/src/CAmDatabaseHandlerMap.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/AudioManagerDaemon/src/CAmDatabaseHandlerMap.cpp b/AudioManagerDaemon/src/CAmDatabaseHandlerMap.cpp index 0aec9f2..d3df07f 100644 --- a/AudioManagerDaemon/src/CAmDatabaseHandlerMap.cpp +++ b/AudioManagerDaemon/src/CAmDatabaseHandlerMap.cpp @@ -390,12 +390,16 @@ template <typename TMapKey,class TMapObject> bool CAmDatabaseHandlerMap::CAmMapp bool notFreeIDs = false; while( existsObjectWithKeyInMap(nextID, map) ) { + if( sourceID.mCurrentValue < sourceID.mMax ) nextID = sourceID.mCurrentValue++; else - nextID = sourceID.mCurrentValue = sourceID.mMin; + { + sourceID.mCurrentValue = sourceID.mMin; + nextID = sourceID.mCurrentValue++; + } - if( sourceID.mCurrentValue == lastID ) + if( nextID == lastID ) { notFreeIDs = true; break; |