$OpenBSD: patch-libkexif_kexifutils_cpp,v 1.1 2006/10/17 20:01:02 espie Exp $
--- libkexif/kexifutils.cpp.orig	Tue Sep  6 19:30:06 2005
+++ libkexif/kexifutils.cpp	Tue Oct 17 21:32:35 2006
@@ -38,6 +38,11 @@ extern "C"
 #include "kexifutils.h"
 #include "kexifdata.h"
 
+static void streamsync(QDataStream &s)
+{
+	s.device()->at(s.device()->at());
+}
+
 bool KExifUtils::writeOrientation(const QString& filename, KExifData::ImageOrientation orientation)
 {
    QString str = "";
@@ -217,6 +222,7 @@ bool KExifUtils::writeFile(const QString
           position++;
        }
 
+       streamsync(stream);
        // write character code ASCII into offset position
        stream << 0x49435341;
        stream << 0x00000049;
@@ -260,6 +266,7 @@ bool KExifUtils::writeFile(const QString
               if(i > 8  && buf[i]==0x01 && buf[i-1]==0x00 && buf[i-2]==0x00 && buf[i-3]==0x00 
                       && buf[i-4]==0x03 && buf[i-5]==0x00 && buf[i-6]==0x12 && buf[i-7]==0x01)
               {
+	          streamsync(stream);
                   stream << (Q_UINT8)0x00;
                   stream << (Q_UINT8)orientation;
 
@@ -270,6 +277,7 @@ bool KExifUtils::writeFile(const QString
               if(i > 8 && buf[i]==0x00 && buf[i-1]==0x00 && buf[i-2]==0x00 && buf[i-3]==0x01 
                      && buf[i-4]==0x00 && buf[i-5]==0x03 && buf[i-6]==0x01 && buf[i-7]==0x12)
               {
+	          streamsync(stream);
                   stream << (Q_UINT8)orientation;
                   stream << (Q_UINT8)0x00;
 
