--- a/qtmobility/src/location/qgeopositioninfosource_s60.cpp Mon May 03 13:18:40 2010 +0300
+++ b/qtmobility/src/location/qgeopositioninfosource_s60.cpp Fri May 14 16:41:33 2010 +0300
@@ -322,6 +322,28 @@
}
}
}
+
+ if (index != -1) {
+ return index;
+ }
+
+ bool minSet = false;
+ microSeconds = 0;
+
+ for (TInt i = 0 ; i < mListSize; i++) {
+ if (mList[i].mIsAvailable
+ //&& posMethods.testFlag(mList[i].mPosMethod)
+ && (mList[i].mStatus != TPositionModuleStatus::EDeviceUnknown)
+ && (mList[i].mStatus != TPositionModuleStatus::EDeviceError)
+ && (((aBits >> i) & 1))) {
+ if (!minSet || (mList[i].mTimeToFirstFix < microSeconds)) {
+ index = i;
+ minSet = true;
+ microSeconds = mList[i].mTimeToFirstFix;
+ }
+ }
+ }
+
return index;
}
@@ -694,6 +716,11 @@
if (mReqUpdateAO && mReqUpdateAO->isRequestPending())
return;
+ if (aTimeout < 0 || (aTimeout != 0 && aTimeout < minimumUpdateInterval())) {
+ emit updateTimeout();
+ return;
+ }
+
if (aTimeout == 0)
aTimeout = 20000;