diff --git a/src/input/input.cpp b/src/input/input.cpp index 77e6d78e..01f99fc4 100644 --- a/src/input/input.cpp +++ b/src/input/input.cpp @@ -327,18 +327,11 @@ namespace Mist { return true; } if (keyNum < 1){keyNum = 1;} - if (isBuffered(track, keyNum)){ - //get corresponding page number - int pageNumber = 0; - for (std::map::iterator it = pagesByTrack[track].begin(); it != pagesByTrack[track].end(); it++){ - if (it->first <= keyNum){ - pageNumber = it->first; - }else{ - break; - } - } + //abort in case already buffered + int pageNumber = bufferedOnPage(track, keyNum); + if (pageNumber){ pageCounter[track][pageNumber] = 15; - VERYHIGH_MSG("Key %u is already buffered in page %d. Cancelling bufferFrame", keyNum, pageNumber); + VERYHIGH_MSG("Track %u, key %u is already buffered in page %d. Cancelling bufferFrame", track, keyNum, pageNumber); return true; } if (!pagesByTrack.count(track)){ diff --git a/src/io.cpp b/src/io.cpp index 03bc2bc8..c51c1f03 100644 --- a/src/io.cpp +++ b/src/io.cpp @@ -127,10 +127,6 @@ namespace Mist { //A different process will handle this for us return; } - //Do nothing if the page is not buffered - if (!isBuffered(tid, pageNumber)) { - return; - } unsigned long mapTid = trackMap[tid]; //If the given pagenumber is not a valid page on this track, do nothing if (!pagesByTrack[tid].count(pageNumber)){