aboutsummaryrefslogtreecommitdiff
path: root/lib/gdi/picexif.cpp
diff options
context:
space:
mode:
authorFelix Domke <tmbinc@elitedvb.net>2009-02-11 12:52:48 +0100
committerFelix Domke <tmbinc@elitedvb.net>2009-02-11 12:52:48 +0100
commitbbfcb7ea1f040d030277e2b6f2efa9ea0967bf2b (patch)
treec5945c791698c14723e989449e6b4bfcc275c05d /lib/gdi/picexif.cpp
parent4f7990ff2a55874b9eb65e3c9cd47dacb9f76deb (diff)
parent5e6f814d005a01caa437a532e61f4b338617ff67 (diff)
downloadenigma2-bbfcb7ea1f040d030277e2b6f2efa9ea0967bf2b.tar.gz
enigma2-bbfcb7ea1f040d030277e2b6f2efa9ea0967bf2b.zip
Merge branch 'master' of /home/tmbinc/enigma2-git into tmbinc/FixTimingBugs
Conflicts: lib/dvb/decoder.cpp
Diffstat (limited to 'lib/gdi/picexif.cpp')
-rw-r--r--lib/gdi/picexif.cpp14
1 files changed, 9 insertions, 5 deletions
diff --git a/lib/gdi/picexif.cpp b/lib/gdi/picexif.cpp
index 844673ce..f9e8055f 100644
--- a/lib/gdi/picexif.cpp
+++ b/lib/gdi/picexif.cpp
@@ -75,7 +75,6 @@ Cexif::Cexif()
Cexif::~Cexif()
{
- //ClearExif();
}
void Cexif::ClearExif()
@@ -89,7 +88,7 @@ void Cexif::ClearExif()
}
}
-bool Cexif::DecodeExif(const char *filename)
+bool Cexif::DecodeExif(const char *filename, int Thumb)
{
FILE * hFile = fopen(filename, "r");
if(!hFile) return false;
@@ -98,6 +97,7 @@ bool Cexif::DecodeExif(const char *filename)
m_exifinfo = new EXIFINFO;
memset(m_exifinfo,0,sizeof(EXIFINFO));
freeinfo = true;
+ m_exifinfo->Thumnailstate = Thumb;
m_szLastError[0]='\0';
ExifImageWidth = MotorolaOrder = SectionsRead=0;
@@ -555,12 +555,16 @@ bool Cexif::ProcessExifDir(unsigned char * DirStart, unsigned char * OffsetBase,
ProcessExifDir(SubdirStart, OffsetBase, ExifLength, m_exifinfo, LastExifRefdP);
}
- if (ThumbnailSize && ThumbnailOffset)
+ if (ThumbnailSize && ThumbnailOffset && m_exifinfo->Thumnailstate)
{
if (ThumbnailSize + ThumbnailOffset <= ExifLength)
{
- m_exifinfo->ThumbnailPointer = OffsetBase + ThumbnailOffset;
- m_exifinfo->ThumbnailSize = ThumbnailSize;
+ if(FILE *tf = fopen(THUMBNAILTMPFILE, "w"))
+ {
+ fwrite( OffsetBase + ThumbnailOffset, ThumbnailSize, 1, tf);
+ fclose(tf);
+ m_exifinfo->Thumnailstate = 2;
+ }
}
}