]> git.sesse.net Git - pr0n/blobdiff - perl/Sesse/pr0n/Common.pm
Parse the focal length information from the D300 correctly.
[pr0n] / perl / Sesse / pr0n / Common.pm
index 9a3d31cc34e9eecaf737315285d3b232b6346eab..eb111ceb9dc513c50987ba7e9683c66706592217 100644 (file)
@@ -419,7 +419,7 @@ sub make_mipmap {
 
                push @mmlist, [ $mmwidth, $mmheight ];
        }
-
+               
        # Ensure that all of them are OK
        my $last_good_mmlocation;
        for my $i (0..$#mmlist) {
@@ -461,6 +461,9 @@ sub make_mipmap {
                }
        }
 
+       if (!defined($img)) {
+               $img = read_original_image($r, $id, $dbwidth, $dbheight);
+       }
        return $img;
 }
 
@@ -638,7 +641,7 @@ sub make_infobox {
                $info->{'ExposureProgram'} =~ /aperture\b.*\bpriority/i);
 
        my @classic_fields = ();
-       if (defined($info->{'FocalLength'}) && $info->{'FocalLength'} =~ /^(\d+)(?:\.\d+)?(?:mm)?$/) {
+       if (defined($info->{'FocalLength'}) && $info->{'FocalLength'} =~ /^(\d+)(?:\.\d+)?\s*(?:mm)?$/) {
                push @classic_fields, [ $1 . "mm", 0 ];
        } elsif (defined($info->{'FocalLength'}) && $info->{'FocalLength'} =~ /^(\d+)\/(\d+)$/) {
                push @classic_fields, [ (sprintf "%.1fmm", ($1/$2)), 0 ];