Fixes Issue 1826, names of non Canon-lenses on Canon-Cams are not correctly shown

This commit is contained in:
Ingo 2013-04-17 23:39:44 +02:00
parent 3d4bd4955d
commit 6bcf4f142d
3 changed files with 6 additions and 2 deletions

View File

@ -262,7 +262,7 @@ void ImageData::extractInfo () {
lens = "Canon " + ldata;
}
}
if( !found ){
if( !found || lens.substr(lens.find(' ')).length() < 7 ){
lt = mnote->findTag("LensID");
if ( lt ) {
std::string ldata = lt->valueToString ();
@ -289,7 +289,7 @@ void ImageData::extractInfo () {
}
} else if (exif->getTag ("DNGLensInfo")) {
lens = exif->getTag ("DNGLensInfo")->valueToString ();
} if (exif->getTag ("LensModel")) {
} else if (exif->getTag ("LensModel")) {
lens = exif->getTag ("LensModel")->valueToString ();
} else if (exif->getTag ("LensInfo")) {
lens = exif->getTag ("LensInfo")->valueToString ();

View File

@ -556,6 +556,7 @@ class CALensInterpreter : public IntLensInterpreter< int > {
choices.insert(p_t(169, "Sigma 18-200mm f/3.5-6.3 DC OS"));
choices.insert(p_t(169, "Sigma 15-30mm f/3.5-4.5 EX DG Aspherical"));
choices.insert(p_t(169, "Sigma 18-50mm f/2.8 Macro"));
choices.insert(p_t(169, "Sigma 30mm f/1.4 EX DC HSM"));
choices.insert(p_t(169, "Sigma 50mm f/1.4 EX DG HSM"));
choices.insert(p_t(169, "Sigma 85mm f/1.4 EX DG HSM"));
choices.insert(p_t(170, "Canon EF 200mm f/2.8L II"));

View File

@ -1926,6 +1926,9 @@ bool extractLensInfo(std::string &fullname,double &minFocal, double &maxFocal, d
char *sp=pMM;
while( *sp != ' ' && sp > buffer )sp--;
sscanf(sp+1,"%lf-%lf",&minFocal,&maxFocal);
if(maxFocal==0.) {
maxFocal = minFocal;
}
return true;
}
}