bIgnoreData was used in ::seek to say, we don't really care much
about the next readData call because we know it's coming from this read
call we're wrapping in bIgnoreData and we will just going to throw
away the data (see dummy variable).
The problem is that it is not guaranteed that the readData call that the
read() originates will be over dummy, in some cases it can be over the internal
qiodevice ring buffer
https://code.qt.io/cgit/qt/qtbase.git/tree/src/corelib/io/qiodevice.cpp?h=5.12#n1129
so if we don't properly store the data we end up with wrong data in the ring buffer and bad things will happen