Attached is the tentative patch to fix this bug. It has been submitted
to upstream for review. An upload of a fixed version of 5.6.1.3 will
happen shortly.
A proper fix will be implemented in an upcoming upstream release that
will be uploaded after the release of squeeze.
Michael
--
Michael Hanke
http://mih.voxindeserto.de
diff --git a/caret_common/HttpFileDownload.cxx
b/caret_common/HttpFileDownload.cxx
index 365c29a..7f16fb5 100644
--- a/caret_common/HttpFileDownload.cxx
+++ b/caret_common/HttpFileDownload.cxx
@@ -199,11 +199,13 @@ HttpFileDownload::uploadFileToSums(const
std::vector<QString>& additionalTags,
}
//#endif // QT4_FILE_POS_BUG
QDataStream dataStream(&file);
+ dataStream.setVersion(QDataStream::Qt_4_3);
// file contents
QFile inputFile(uploadFileName);
if (inputFile.open(QIODevice::ReadOnly)) {
QDataStream inputStream(&inputFile);
+ inputStream.setVersion(QDataStream::Qt_4_3);
const int inputFileSize = inputFile.size();
const int bufferSize = 4096;
@@ -549,6 +551,7 @@ HttpFileDownload::slotDone(bool error)
QFile file(outputFileName);
if (file.open(QIODevice::WriteOnly)) {
QDataStream stream(&file);
+ stream.setVersion(QDataStream::Qt_4_3);
stream.writeRawData(ba.data(), num);
file.close();
}
diff --git a/caret_files/AbstractFile.cxx b/caret_files/AbstractFile.cxx
index 696eaaf..b98e369 100644
--- a/caret_files/AbstractFile.cxx
+++ b/caret_files/AbstractFile.cxx
@@ -1028,6 +1028,7 @@ AbstractFile::readFileFromArray(const char* data,
throw FileException("", "Unable to create temporary read/write file in
AbstractFile::readFile");
}
QDataStream stream(&file);
+ stream.setVersion(QDataStream::Qt_4_3);
stream.writeRawData(data, dataLength);
//char newline[2] = { '\n', '\0' };
//stream.writeRawBytes(newline, 1);
@@ -1050,6 +1051,7 @@ AbstractFile::readFileContents(QFile& file) throw
(FileException)
//
QTextStream stream(&file);
QDataStream binStream(&file);
+ binStream.setVersion(QDataStream::Qt_4_3);
//
// Determine if GIFTI node data file
@@ -2253,6 +2255,7 @@ AbstractFile::writeFileToArray(QByteArray& ba) throw
(FileException)
{
QTextStream ts(ba, QIODevice::WriteOnly);
QDataStream ds(&ba, QIODevice::WriteOnly);
+ ds.setVersion(QDataStream::Qt_4_3);
writeFileContents(ts, ds);
}
@@ -2463,6 +2466,7 @@ AbstractFile::writeFile(const QString& filenameIn) throw
(FileException)
if (writingQFile->open(QFile::WriteOnly)) {
QTextStream stream(writingQFile);
QDataStream binStream(writingQFile);
+ binStream.setVersion(QDataStream::Qt_4_3);
try {
writeFileContents(stream, binStream);
@@ -3421,6 +3425,7 @@ AbstractFile::findBinaryDataOffsetQT4Bug(QFile& file,
file.seek(0);
QDataStream dataStream(&file);
+ dataStream.setVersion(QDataStream::Qt_4_3);
const int arraySize = 2048;
char buffer[arraySize];
diff --git a/caret_files/CommaSeparatedValueFile.cxx
b/caret_files/CommaSeparatedValueFile.cxx
index 85ec309..84de5d0 100644
--- a/caret_files/CommaSeparatedValueFile.cxx
+++ b/caret_files/CommaSeparatedValueFile.cxx
@@ -107,6 +107,7 @@ CommaSeparatedValueFile::readFromTextStream(QFile& file,
QTextStream& stream) throw
(FileException)
{
QDataStream dummyDataStream(&file);
+ dummyDataStream.setVersion(QDataStream::Qt_4_3);
QDomElement dummyDomElement;
readFileData(file, stream, dummyDataStream, dummyDomElement);
}
@@ -118,6 +119,7 @@ void
CommaSeparatedValueFile::writeToTextStream(QTextStream& stream) throw
(FileException)
{
QDataStream dummyDataStream;
+ dummyDataStream.setVersion(QDataStream::Qt_4_3);
QDomDocument dummyDomDocument;
QDomElement dummyDomElement;
diff --git a/caret_files/GiftiDataArray.cxx b/caret_files/GiftiDataArray.cxx
index 43e7dcb..11eacf2 100644
--- a/caret_files/GiftiDataArray.cxx
+++ b/caret_files/GiftiDataArray.cxx
@@ -929,6 +929,7 @@ GiftiDataArray::readFromText(QString& text,
// Read the data
//
QDataStream stream(&file);
+ stream.setVersion(QDataStream::Qt_4_3);
const int numBytesRead =
stream.readRawData((char*)pointerToForReadingData,
numberOfBytes);
if (numBytesRead != numberOfBytes) {
diff --git a/caret_files/GiftiDataArrayFile.cxx
b/caret_files/GiftiDataArrayFile.cxx
index 62372f7..5841942 100644
--- a/caret_files/GiftiDataArrayFile.cxx
+++ b/caret_files/GiftiDataArrayFile.cxx
@@ -947,6 +947,7 @@ GiftiDataArrayFile::readFileDataXML(QFile& file) throw
(FileException)
// Create a data stream
//
QDataStream stream(&file);
+ stream.setVersion(QDataStream::Qt_4_3);
//
// buffer for data read
diff --git a/caret_files/NiftiFileHeader.cxx b/caret_files/NiftiFileHeader.cxx
index 37cfdeb..fc54039 100644
--- a/caret_files/NiftiFileHeader.cxx
+++ b/caret_files/NiftiFileHeader.cxx
@@ -1663,6 +1663,7 @@ NiftiFileHeader::hdrIsNiftiFile(const QString&
hdrFileName)
int numBytesToRead = 348;
char bytes[numBytesToRead];
QDataStream stream(&file);
+ stream.setVersion(QDataStream::Qt_4_3);
const bool errorFlag = (stream.readRawData(bytes, numBytesToRead) !=
numBytesToRead);
file.close();
if (errorFlag) {
diff --git a/caret_files/NiftiHelper.cxx b/caret_files/NiftiHelper.cxx
index ab29df1..1b9eb75 100644
--- a/caret_files/NiftiHelper.cxx
+++ b/caret_files/NiftiHelper.cxx
@@ -640,6 +640,7 @@ NiftiHelper::hdrIsNiftiFile(const QString& hdrFileName)
int numBytesToRead = 348;
char bytes[numBytesToRead];
QDataStream stream(&file);
+ stream.setVersion(QDataStream::Qt_4_3);
const bool errorFlag = (stream.readRawData(bytes, numBytesToRead) !=
numBytesToRead);
file.close();
if (errorFlag) {
diff --git a/caret_files/SpecFile.cxx b/caret_files/SpecFile.cxx
index 0557dd4..aff6456 100644
--- a/caret_files/SpecFile.cxx
+++ b/caret_files/SpecFile.cxx
@@ -1724,6 +1724,7 @@ SpecFile::readTagsFromXML(QDomElement& topElement) throw
(FileException)
QFile file;
QTextStream textStream;
QDataStream dataStream;
+ dataStream.setVersion(QDataStream::Qt_4_3);
readFileData(file, textStream, dataStream, topElement);
setFileReadType(savedReadType);
@@ -1791,6 +1792,7 @@ SpecFile::writeTagsToXML(QDomDocument& xmlDoc,
QTextStream textStream;
QDataStream dataStream;
+ dataStream.setVersion(QDataStream::Qt_4_3);
writeFileData(textStream, dataStream, xmlDoc, topElement);
setFileWriteType(savedWriteType);
diff --git a/caret_widgets/WuQFileDialog.cxx b/caret_widgets/WuQFileDialog.cxx
index 15c0a94..769fd68 100644
--- a/caret_widgets/WuQFileDialog.cxx
+++ b/caret_widgets/WuQFileDialog.cxx
@@ -2314,6 +2314,7 @@ WuQFileDialog::restoreState(const QByteArray& state)
{
QByteArray sd = state;
QDataStream stream(&sd, QIODevice::ReadOnly);
+ stream.setVersion(QDataStream::Qt_4_3);
if (stream.atEnd()) {
return false;
}
@@ -2364,6 +2365,7 @@ WuQFileDialog::saveState() const
{
QByteArray data;
QDataStream stream(&data, QIODevice::WriteOnly);
+ stream.setVersion(QDataStream::Qt_4_3);
stream << qint32(WUQFileDialogMagic);
stream << qint32(WUQFileDialogVersion);