Reviewed by Kevin
authorbeidson <beidson@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 23 Aug 2006 00:42:04 +0000 (00:42 +0000)
committerbeidson <beidson@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 23 Aug 2006 00:42:04 +0000 (00:42 +0000)
        Added a check in getTIFFRepresentation to not proceed if the frame count is zero
        This is an error condition that was handled gracefully before - in certain circumstances
        the call to CGImageDestinationCreateWithData will spam the Console if it is passed null/empty data
        or invalid data.  This small change bails out before that call if that call will definitely fail

        * platform/mac/ImageMac.mm:
        (WebCore::Image::getTIFFRepresentation):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15978 268f45cc-cd09-0410-ab3c-d52691b4dbfc

WebCore/ChangeLog
WebCore/platform/mac/ImageMac.mm

index e57846926866567faed8d2ac9b6b7dedc4b107cc..693df46fece2ff96971a7891ad882ac1470aaab4 100644 (file)
@@ -1,3 +1,15 @@
+2006-08-22  Brady Eidson  <beidson@apple.com>
+
+        Reviewed by Kevin
+
+        Added a check in getTIFFRepresentation to not proceed if the frame count is zero
+        This is an error condition that was handled gracefully before - in certain circumstances
+        the call to CGImageDestinationCreateWithData will spam the Console if it is passed null/empty data
+        or invalid data.  This small change bails out before that call if that call will definitely fail
+
+        * platform/mac/ImageMac.mm:
+        (WebCore::Image::getTIFFRepresentation):
+
 2006-08-22  David Harrison  <harrison@apple.com>
 
         Backed out my last change (r15966) because it broke lots of layout tests.
index 9e651ae8f549132b01e323636ad1b15298d20584..12e4c6e397103f56628ca57e44a6404770e8d277 100644 (file)
@@ -136,6 +136,12 @@ CFDataRef Image::getTIFFRepresentation()
         return m_tiffRep;
     
     unsigned numFrames = frameCount();
+    
+    // If numFrames is zero, we know for certain this image doesn't have valid data
+    // Even though the call to CGImageDestinationCreateWithData will fail and we'll handle it gracefully,
+    // in certain circumstances that call will spam the console with an error message
+    if (!numFrames)
+        return 0;
     CFMutableDataRef data = CFDataCreateMutable(0, 0);
     // FIXME:  Use type kCGImageTypeIdentifierTIFF constant once is becomes available in the API
     CGImageDestinationRef destination = CGImageDestinationCreateWithData(data, CFSTR("public.tiff"), numFrames, 0);