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);

Reply via email to