diff -r 6df133bd92e1 -r 075425b8d9a4 radioapp/radiouiengine/src/radioscannerengine_p.cpp --- a/radioapp/radiouiengine/src/radioscannerengine_p.cpp Fri Jun 04 10:21:36 2010 +0100 +++ b/radioapp/radiouiengine/src/radioscannerengine_p.cpp Fri Jun 11 13:38:32 2010 +0300 @@ -59,7 +59,7 @@ Q_Q( RadioScannerEngine ); if ( reason == TuneReason::StationScanInitialization ) { - mUiEngine.wrapper().startSeeking( Seeking::Up, TuneReason::StationScan ); + mUiEngine.wrapper().startSeeking( Seek::Up, TuneReason::StationScan ); } else if ( reason == TuneReason::StationScan ) { if ( frequency > mLastFoundFrequency ) { // Station has been found normally @@ -72,6 +72,8 @@ // Seeking looped around the frequency band. Send invalid station as indicator that the scanning should stop q->emitStationFound( RadioStation() ); } + } else { + q->emitStationFound( RadioStation() ); } } @@ -82,8 +84,13 @@ { RadioStationModel& stationModel = mUiEngine.api().stationModel(); stationModel.stationHandlerIf().addScannedFrequency( frequency ); + + // Return value of findFrequency() is intentionally ignored. The station was just added + // to the model in the previous line so it should be found and if it isn't then an + // empty station is sent with the signal and scanner will stop the scanning process. RadioStation station; stationModel.findFrequency( frequency, station ); + Q_Q( RadioScannerEngine ); q->emitStationFound( station ); }