diff -Nur src/mainimpl.cpp src/mainimpl.cpp --- src/mainimpl.cpp 2009-03-12 18:12:56.000000000 +0100 +++ src/mainimpl.cpp 2010-08-25 05:17:48.236596202 +0200 @@ -271,12 +271,23 @@ QByteArray fileContent; QString fileSha(git->getFileSha(rv->st.fileName(), rv->st.sha())); git->getFile(fileSha, NULL, &fileContent, rv->st.fileName()); - if (!writeToFile(fName1, QString(fileContent))) + + bool retWriteToFile=false; + if (git->isBinaryFile(rv->st.fileName())) + retWriteToFile=writeToFile(fName1, fileContent); + else + retWriteToFile=writeToFile(fName1, QString(fileContent)); + if(!retWriteToFile) statusBar()->showMessage("Unable to save " + fName1); fileSha = git->getFileSha(rv->st.fileName(), prevRevSha); git->getFile(fileSha, NULL, &fileContent, rv->st.fileName()); - if (!writeToFile(fName2, QString(fileContent))) + + if (git->isBinaryFile(rv->st.fileName())) + retWriteToFile=writeToFile(fName2, fileContent); + else + retWriteToFile=writeToFile(fName2, QString(fileContent)); + if(!retWriteToFile) statusBar()->showMessage("Unable to save " + fName2); // get external diff viewer command