<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>4357</bug_id>
          
          <creation_ts>2005-08-09 11:55:37 -0700</creation_ts>
          <short_desc>crash related to animated GIFs, reproducible in non-Safari WebKit application</short_desc>
          <delta_ts>2005-09-05 15:19:44 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Misc.</component>
          <version>412</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Scott Garner">fakescott</reporter>
          <assigned_to name="Darin Adler">darin</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>16276</commentid>
    <comment_count>0</comment_count>
    <who name="Scott Garner">fakescott</who>
    <bug_when>2005-08-09 11:55:37 -0700</bug_when>
    <thetext>This one is a little hard to explain, but basically once a page with an animated gif is loaded, used and 
released, *something* still tries to access the documentView containing the gif, thus causing an 
exception.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>16278</commentid>
    <comment_count>1</comment_count>
      <attachid>3291</attachid>
    <who name="Scott Garner">fakescott</who>
    <bug_when>2005-08-09 11:59:27 -0700</bug_when>
    <thetext>Created attachment 3291
A small application that illustrates the bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>16280</commentid>
    <comment_count>2</comment_count>
    <who name="Scott Garner">fakescott</who>
    <bug_when>2005-08-09 12:04:52 -0700</bug_when>
    <thetext>An obviously inelegant workaround that I&apos;ve been using:

- (void)webView:(WebView *)sender willCloseFrame:(WebFrame *)frame
{
	WebDataSource*  dataSource;
	dataSource = [frame dataSource];
	NSEnumerator *enumerate = [[dataSource subresources] objectEnumerator];
	WebResource *curResource;
	
	while (curResource = [enumerate nextObject]) {
		if ([[curResource MIMEType] isEqualTo:@&quot;image/gif&quot;]) {
			NSView *documentView  = [[frame frameView] documentView];
			[documentView retain];
			break;
		}			
	}
}

The idea is to retain any DocumentViews that might contain an animated GIF.  Since this is all for an 
Automator action (Download URLs as PDFs), the resulting leak isn&apos;t terribly problematic. </thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>16285</commentid>
    <comment_count>3</comment_count>
    <who name="Scott Garner">fakescott</who>
    <bug_when>2005-08-09 12:12:30 -0700</bug_when>
    <thetext>For a little more commentary on this issue along with some attempted workarounds:

http://lists.apple.com/archives/Webkitsdk-dev//2005/Jul/msg00030.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>18559</commentid>
    <comment_count>4</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2005-09-03 16:08:16 -0700</bug_when>
    <thetext>Using zombie mode, I see a WebHTMLView being overreleased when I use this test program.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>18561</commentid>
    <comment_count>5</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2005-09-03 16:20:18 -0700</bug_when>
    <thetext>I found the bug. Working on a fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>18562</commentid>
    <comment_count>6</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2005-09-03 16:23:47 -0700</bug_when>
    <thetext>The problem is that this code, in a roundabout way, calls retain on a WebHTMLView object that&apos;s in its 
dealloc function. I&apos;m fixing that now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>18563</commentid>
    <comment_count>7</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2005-09-03 16:24:38 -0700</bug_when>
    <thetext>By &quot;this code&quot;, I mean &quot;the WebImageData class&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>18565</commentid>
    <comment_count>8</comment_count>
      <attachid>3734</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2005-09-03 16:44:12 -0700</bug_when>
    <thetext>Created attachment 3734
patch to fix the problem (was a retain from inside dealloc!)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>18680</commentid>
    <comment_count>9</comment_count>
      <attachid>3757</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2005-09-04 12:40:45 -0700</bug_when>
    <thetext>Created attachment 3757
patch to fix the problem (retain inside dealloc)</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>3291</attachid>
            <date>2005-08-09 11:59:27 -0700</date>
            <delta_ts>2005-08-09 11:59:27 -0700</delta_ts>
            <desc>A small application that illustrates the bug.</desc>
            <filename>GifBugger.zip</filename>
            <type>application/zip</type>
            <size>13605</size>
            <attacher name="Scott Garner">fakescott</attacher>
            
              <data encoding="base64">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
ZXIvLl8uRFNfU3RvcmVVWAgAA/34QgH9+EJQSwECFQMUAAgACAAuawkzpS/Ry9UEAAA3DAAAFQAM
AAAAAAAAAABApIH6AgAAR2lmQnVnZ2VyL0dpZkJ1Z2dlci4xVVgIAAP9+EIX9fhCUEsBAhUDFAAI
AAgAnWsJM5UOOzSmAAAAGAEAABUADAAAAAAAAAAAQKSBIggAAEdpZkJ1Z2dlci9HaWZCdWdnZXIu
bVVYCAAD/fhC6vX4QlBLAQIVAwoAAAAAADFvCTMAAAAAAAAAAAAAAAAeAAwAAAAAAAAAAEDtQRsJ
AABHaWZCdWdnZXIvR2lmQnVnZ2VyLnhjb2RlcHJvai9VWAgAr/z4Qp38+EJQSwECFQMUAAgACAAx
bwkzcGlOlIIHAAAyKAAALQAMAAAAAAAAAABApIFnCQAAR2lmQnVnZ2VyL0dpZkJ1Z2dlci54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qVVgIAAP9+EKd/PhCUEsBAhUDFAAIAAgAMW8JM+U8HYJJEwAA
CJkAACkADAAAAAAAAAAAQKSBVBEAAEdpZkJ1Z2dlci9HaWZCdWdnZXIueGNvZGVwcm9qL3Njb3R0
Lm1vZGUxVVgIAAP9+EKd/PhCUEsBAhUDFAAIAAgAMW8JM0iwotUWBAAAQA0AACsADAAAAAAAAAAA
QKSBBCUAAEdpZkJ1Z2dlci9HaWZCdWdnZXIueGNvZGVwcm9qL3Njb3R0LnBieHVzZXJVWAgAA/34
Qp38+EJQSwECFQMUAAgACACGawkzz/toeooAAAC/AAAAHgAMAAAAAAAAAABApIGDKQAAR2lmQnVn
Z2VyL0dpZkJ1Z2dlcl9QcmVmaXgucGNoVVgIAAP9+EK79fhCUEsBAhUDFAAIAAgAuGsJM5SH/fvK
AAAABAEAABIADAAAAAAAAAAAQKSBaSoAAEdpZkJ1Z2dlci9UZXN0ZXIuaFVYCAAD/fhCHPb4QlBL
AQIVAxQACAAIACdvCTMao9qQrgQAAEwMAAASAAwAAAAAAAAAAECkgYMrAABHaWZCdWdnZXIvVGVz
dGVyLm1VWAgAA/34Qon8+EJQSwUGAAAAAA4ADgCOBAAAgTAAAAAA
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>3734</attachid>
            <date>2005-09-03 16:44:12 -0700</date>
            <delta_ts>2005-09-04 12:40:55 -0700</delta_ts>
            <desc>patch to fix the problem (was a retain from inside dealloc!)</desc>
            <filename>WebImageDataViewRetainPatch.txt</filename>
            <type>text/plain</type>
            <size>7919</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">SW5kZXg6IENhcmJvbi5zdWJwcm9qL0hJV2ViVmlldy5tCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9j
dnMvcm9vdC9XZWJLaXQvQ2FyYm9uLnN1YnByb2ovSElXZWJWaWV3Lm0sdgpyZXRyaWV2aW5nIHJl
dmlzaW9uIDEuMjcKZGlmZiAtcCAtdSAtcjEuMjcgQ2FyYm9uLnN1YnByb2ovSElXZWJWaWV3Lm0K
LS0tIENhcmJvbi5zdWJwcm9qL0hJV2ViVmlldy5tCTcgSnVuIDIwMDUgMDA6Mzc6MjEgLTAwMDAJ
MS4yNworKysgQ2FyYm9uLnN1YnByb2ovSElXZWJWaWV3Lm0JMyBTZXAgMjAwNSAyMzo0NTo1OCAt
MDAwMApAQCAtMzQsMzIgKzM0LDEyIEBACiAjaW5jbHVkZSAiSElWaWV3QWRhcHRlci5oIgogI2lu
Y2x1ZGUgPFdlYktpdFN5c3RlbUludGVyZmFjZS5oPgogCi1AaW50ZXJmYWNlIE5TVmlldyAoQXBw
S2l0U2VjcmV0c1dlYkdyYXBoaWNzQnJpZGdlS25vd3NBYm91dCkKLS0gKE5TVmlldyAqKV9jbGlw
Vmlld0FuY2VzdG9yOwotQGVuZAotCi1AaW50ZXJmYWNlIE5TR3JhcGhpY3NDb250ZXh0IChTZWNy
ZXQpCi0tICh2b2lkKXNldENHQ29udGV4dDooQ0dDb250ZXh0UmVmKWNnQ29udGV4dDsKLUBlbmQK
LQotQGludGVyZmFjZSBOU1dpbmRvdyhTZWNyZXQpCi0tIChOU0dyYXBoaWNzQ29udGV4dCAqKV90
aHJlYWRDb250ZXh0OwotLSAoTlNWaWV3ICopX2JvcmRlclZpZXc7CitAaW50ZXJmYWNlIE5TV2lu
ZG93IChBcHBLaXRTZWNyZXRzSElXZWJWaWV3S25vd3MpCiAtICh2b2lkKV9yZW1vdmVXaW5kb3dS
ZWY7CiBAZW5kCiAKLUBpbnRlcmZhY2UgTlNFdmVudCggU2VjcmV0ICkKLS0gKE5TRXZlbnQgKilf
ZXZlbnRSZWxhdGl2ZVRvV2luZG93OihOU1dpbmRvdyAqKWFXaW47Ci1AZW5kCi0KLUBpbnRlcmZh
Y2UgTlNWaWV3KCBTZWNyZXQgKQotLSAodm9pZCkgX3NldEhJVmlldzooSElWaWV3UmVmKXZpZXc7
Ci0tICh2b2lkKSBfY2xlYXJEaXJ0eVJlY3RzRm9yVHJlZTsKLS0gKEJPT0wpIF9hbGxvd3NDb250
ZXh0TWVudXM7Ci1AZW5kCi0KLUBpbnRlcmZhY2UgTlNNZW51KCBTZWNyZXQgKQotLSAodm9pZClf
cG9wVXBNZW51V2l0aEV2ZW50OihOU0V2ZW50KilldmVudCBmb3JWaWV3OihOU1ZpZXcqKXZpZXc7
CitAaW50ZXJmYWNlIE5TVmlldyAoQXBwS2l0U2VjcmV0c0hJV2ViVmlld0tub3dzKQorLSAodm9p
ZClfY2xlYXJEaXJ0eVJlY3RzRm9yVHJlZTsKIEBlbmQKIAogQGludGVyZmFjZSBNZW51SXRlbVBy
b3h5IDogTlNPYmplY3QgPE5TVmFsaWRhdGVkVXNlckludGVyZmFjZUl0ZW0+CkBAIC0zNDQsNyAr
MzI0LDYgQEAgc3RhdGljIHZvaWQKIERyYXcoIEhJV2ViVmlldyogaW5WaWV3LCBSZ25IYW5kbGUg
bGltaXRSZ24sIENHQ29udGV4dFJlZiBpbkNvbnRleHQgKQogewogCUhJUmVjdAkJCQlib3VuZHM7
Ci0JQ0dDb250ZXh0UmVmCQl0ZW1wOwogCVJlY3QJCQkJZHJhd1JlY3Q7CiAJSElSZWN0CQkJCWhp
UmVjdDsKIAlib29sCQkJCWNyZWF0ZWRDb250ZXh0ID0gZmFsc2U7CkBAIC0zNjUsMTAgKzM0NCw4
IEBAIERyYXcoIEhJV2ViVmlldyogaW5WaWV3LCBSZ25IYW5kbGUgbGltaXQKICAgICAKIAlISVZp
ZXdHZXRCb3VuZHMoIGluVmlldy0+ZlZpZXdSZWYsICZib3VuZHMgKTsKIAotCXRlbXAgPSAoQ0dD
b250ZXh0UmVmKVtbaW5WaWV3LT5mS2l0V2luZG93IF90aHJlYWRDb250ZXh0XSBncmFwaGljc1Bv
cnRdOwotCUNHQ29udGV4dFJldGFpbiggdGVtcCApOwotCVtbaW5WaWV3LT5mS2l0V2luZG93IF90
aHJlYWRDb250ZXh0XSBzZXRDR0NvbnRleHQ6IGluQ29udGV4dF07Ci0JW05TR3JhcGhpY3NDb250
ZXh0IHNldEN1cnJlbnRDb250ZXh0OltpblZpZXctPmZLaXRXaW5kb3cgX3RocmVhZENvbnRleHRd
IF07CisgICAgQ0dDb250ZXh0UmVmIHNhdmVkQ29udGV4dCA9IFdLTlNXaW5kb3dPdmVycmlkZUNH
Q29udGV4dChpblZpZXctPmZLaXRXaW5kb3csIGluQ29udGV4dCk7CisgICAgW05TR3JhcGhpY3ND
b250ZXh0IHNldEN1cnJlbnRDb250ZXh0OltpblZpZXctPmZLaXRXaW5kb3cgZ3JhcGhpY3NDb250
ZXh0XV07CiAKIAlHZXRSZWdpb25Cb3VuZHMoIGxpbWl0UmduLCAmZHJhd1JlY3QgKTsKIApAQCAt
Mzg4LDcgKzM2NSw3IEBAIERyYXcoIEhJV2ViVmlldyogaW5WaWV3LCBSZ25IYW5kbGUgbGltaXQK
ICAgICBlbHNlCiAgICAgICAgIFtpblZpZXctPmZXZWJWaWV3IGRpc3BsYXlSZWN0OiooTlNSZWN0
KikmaGlSZWN0XTsKIAotICAgIFtbaW5WaWV3LT5mS2l0V2luZG93IF90aHJlYWRDb250ZXh0XSBz
ZXRDR0NvbnRleHQ6IHRlbXBdOworICAgIFdLTlNXaW5kb3dSZXN0b3JlQ0dDb250ZXh0KGluVmll
dy0+ZktpdFdpbmRvdywgc2F2ZWRDb250ZXh0KTsKIAogICAgIGlmICggIWluVmlldy0+ZklzQ29t
cG9zaXRlZCApCiAgICAgewpAQCAtNDEzLDggKzM5MCw2IEBAIERyYXcoIEhJV2ViVmlldyogaW5W
aWV3LCBSZ25IYW5kbGUgbGltaXQKICAgICAgICAgfQogICAgICB9CiAKLSAgICBDR0NvbnRleHRS
ZWxlYXNlKCB0ZW1wICk7Ci0gICAgCiAgICAgaWYgKCBjcmVhdGVkQ29udGV4dCApCiAgICAgewog
ICAgICAgICBDR0NvbnRleHRTeW5jaHJvbml6ZSggaW5Db250ZXh0ICk7CkluZGV4OiBXZWJDb3Jl
U3VwcG9ydC5zdWJwcm9qL1dlYkltYWdlRGF0YS5tCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMv
cm9vdC9XZWJLaXQvV2ViQ29yZVN1cHBvcnQuc3VicHJvai9XZWJJbWFnZURhdGEubSx2CnJldHJp
ZXZpbmcgcmV2aXNpb24gMS40NgpkaWZmIC1wIC11IC1yMS40NiBXZWJDb3JlU3VwcG9ydC5zdWJw
cm9qL1dlYkltYWdlRGF0YS5tCi0tLSBXZWJDb3JlU3VwcG9ydC5zdWJwcm9qL1dlYkltYWdlRGF0
YS5tCTI3IEF1ZyAyMDA1IDAwOjAzOjQyIC0wMDAwCTEuNDYKKysrIFdlYkNvcmVTdXBwb3J0LnN1
YnByb2ovV2ViSW1hZ2VEYXRhLm0JMyBTZXAgMjAwNSAyMzo0NTo1OSAtMDAwMApAQCAtOTUxLDIy
ICs5NTEsNTMgQEAgc3RhdGljIE5TTXV0YWJsZVNldCAqYWN0aXZlQW5pbWF0aW9uczsKICAgICBb
YWN0aXZlQW5pbWF0aW9ucyBhZGRPYmplY3Q6c2VsZl07CiB9CiAKK3R5cGVkZWYgc3RydWN0IHsK
KyAgICBXZWJJbWFnZVJlbmRlcmVyICpyZW5kZXJlcjsKKyAgICBDRk11dGFibGVBcnJheVJlZiB2
aWV3c1RvUmVtb3ZlOworfSBSZW1vdmVSZW5kZXJlclBhcmFtZXRlcnM7CisKK3N0YXRpYyB2b2lk
IHJlbW92ZUFuaW1hdGluZ1JlbmRlcmVyRnJvbVZpZXcoY29uc3Qgdm9pZCAqa2V5LCBjb25zdCB2
b2lkICp2YWx1ZSwgdm9pZCAqY29udGV4dCkKK3sKKyAgICBOU1ZpZXcgKnZpZXcgPSAoTlNWaWV3
ICopa2V5OworICAgIE5TTXV0YWJsZVNldCAqcmVuZGVyZXJzID0gKE5TTXV0YWJsZVNldCAqKXZh
bHVlOworICAgIFJlbW92ZVJlbmRlcmVyUGFyYW1ldGVycyAqcGFyYW1ldGVycyA9IChSZW1vdmVS
ZW5kZXJlclBhcmFtZXRlcnMgKiljb250ZXh0OworICAgIFtyZW5kZXJlcnMgcmVtb3ZlT2JqZWN0
OnBhcmFtZXRlcnMtPnJlbmRlcmVyXTsKKyAgICBpZiAoW3JlbmRlcmVycyBjb3VudF0gPT0gMCkg
eworICAgICAgICBDRk11dGFibGVBcnJheVJlZiB2aWV3c1RvUmVtb3ZlID0gcGFyYW1ldGVycy0+
dmlld3NUb1JlbW92ZTsKKyAgICAgICAgaWYgKHZpZXdzVG9SZW1vdmUgPT0gTlVMTCkgeworICAg
ICAgICAgICAgdmlld3NUb1JlbW92ZSA9IENGQXJyYXlDcmVhdGVNdXRhYmxlKE5VTEwsIDAsIE5V
TEwpOworICAgICAgICAgICAgcGFyYW1ldGVycy0+dmlld3NUb1JlbW92ZSA9IHZpZXdzVG9SZW1v
dmU7CisgICAgICAgIH0KKyAgICAgICAgQ0ZBcnJheUFwcGVuZFZhbHVlKHZpZXdzVG9SZW1vdmUs
IHZpZXcpOworICAgIH0KK30KKworc3RhdGljIHZvaWQgcmVtb3ZlRnJvbURpY3Rpb25hcnkoY29u
c3Qgdm9pZCAqdmFsdWUsIHZvaWQgKmNvbnRleHQpCit7CisgICAgQ0ZNdXRhYmxlRGljdGlvbmFy
eVJlZiBkaWN0aW9uYXJ5ID0gKENGTXV0YWJsZURpY3Rpb25hcnlSZWYpY29udGV4dDsKKyAgICBD
RkRpY3Rpb25hcnlSZW1vdmVWYWx1ZShkaWN0aW9uYXJ5LCB2YWx1ZSk7Cit9CisKIC0gKHZvaWQp
cmVtb3ZlQW5pbWF0aW5nUmVuZGVyZXI6KFdlYkltYWdlUmVuZGVyZXIgKilyCiB7Ci0gICAgTlNF
bnVtZXJhdG9yICp2aWV3RW51bWVyYXRvciA9IFsoTlNNdXRhYmxlRGljdGlvbmFyeSAqKWFuaW1h
dGluZ1JlbmRlcmVycyBrZXlFbnVtZXJhdG9yXTsKLSAgICBOU1ZpZXcgKnZpZXc7Ci0gICAgd2hp
bGUgKCh2aWV3ID0gW3ZpZXdFbnVtZXJhdG9yIG5leHRPYmplY3RdKSkgewotICAgICAgICBOU011
dGFibGVTZXQgKnJlbmRlcmVycyA9IChOU011dGFibGVTZXQgKilDRkRpY3Rpb25hcnlHZXRWYWx1
ZShhbmltYXRpbmdSZW5kZXJlcnMsIHZpZXcpOwotICAgICAgICBbcmVuZGVyZXJzIHJlbW92ZU9i
amVjdDpyXTsKLSAgICAgICAgaWYgKFtyZW5kZXJlcnMgY291bnRdID09IDApIHsKLSAgICAgICAg
ICAgIENGRGljdGlvbmFyeVJlbW92ZVZhbHVlKGFuaW1hdGluZ1JlbmRlcmVycywgdmlldyk7Cisg
ICAgLy8gSXQncyBpbXBvcnRhbnQgbm90IHRvIGRvIGFueXRoaW5nIGhlcmUgdG8gY291bGQgcmV0
YWluIHRoZSB2aWV3LCBzaW5jZSB0aGlzIGlzIGNhbGxlZAorICAgIC8vIGZyb20gY29kZSB0byBz
dG9wIGFuaW1hdGlvbnMsIHdoaWNoIGlzIGNhbGxlZCBpbnNpZGUgLVtXZWJIVE1MVmlldyBkZWFs
bG9jXS4KKyAgICAvLyBPZiBjb3Vyc2UsIHRoYXQncyBhbHNvIGEgZGVzaWduIHByb2JsZW0gd2Un
bGwgaGF2ZSB0byBmaXggZXZlbnR1YWxseSwgc2luY2UgZGVhbGxvYworICAgIC8vIGRvZXNuJ3Qg
aGFwcGVuIGF0IGFsbCB3aGVuIHJ1bm5pbmcgd2l0aCBnYXJiYWdlIGNvbGxlY3Rpb24uCisgICAg
aWYgKGFuaW1hdGluZ1JlbmRlcmVycykgeworICAgICAgICBSZW1vdmVSZW5kZXJlclBhcmFtZXRl
cnMgcGFyYW1ldGVycyA9IHsgciwgTlVMTCB9OworICAgICAgICBDRkRpY3Rpb25hcnlBcHBseUZ1
bmN0aW9uKGFuaW1hdGluZ1JlbmRlcmVycywgcmVtb3ZlQW5pbWF0aW5nUmVuZGVyZXJGcm9tVmll
dywgJnBhcmFtZXRlcnMpOworICAgICAgICBDRk11dGFibGVBcnJheVJlZiB2aWV3c1RvUmVtb3Zl
ID0gcGFyYW1ldGVycy52aWV3c1RvUmVtb3ZlOworICAgICAgICBpZiAodmlld3NUb1JlbW92ZSkg
eworICAgICAgICAgICAgQ0ZSYW5nZSByYW5nZSA9IENGUmFuZ2VNYWtlKDAsIENGQXJyYXlHZXRD
b3VudCh2aWV3c1RvUmVtb3ZlKSk7CisgICAgICAgICAgICBDRkFycmF5QXBwbHlGdW5jdGlvbih2
aWV3c1RvUmVtb3ZlLCByYW5nZSwgcmVtb3ZlRnJvbURpY3Rpb25hcnksIGFuaW1hdGluZ1JlbmRl
cmVycyk7CisgICAgICAgICAgICBDRlJlbGVhc2Uodmlld3NUb1JlbW92ZSk7CisgICAgICAgICAg
ICBpZiAoQ0ZEaWN0aW9uYXJ5R2V0Q291bnQoYW5pbWF0aW5nUmVuZGVyZXJzKSA9PSAwKSB7Cisg
ICAgICAgICAgICAgICAgW2FjdGl2ZUFuaW1hdGlvbnMgcmVtb3ZlT2JqZWN0OnNlbGZdOworICAg
ICAgICAgICAgICAgIFtzZWxmIF9zdG9wQW5pbWF0aW9uXTsKKyAgICAgICAgICAgIH0KICAgICAg
ICAgfQogICAgIH0KLSAgICAKLSAgICBpZiAoYW5pbWF0aW5nUmVuZGVyZXJzICYmIENGRGljdGlv
bmFyeUdldENvdW50KGFuaW1hdGluZ1JlbmRlcmVycykgPT0gMCkgewotICAgICAgICBbYWN0aXZl
QW5pbWF0aW9ucyByZW1vdmVPYmplY3Q6c2VsZl07Ci0gICAgICAgIFtzZWxmIF9zdG9wQW5pbWF0
aW9uXTsKLSAgICB9CiB9CiAKIC0gKHZvaWQpcmVzZXRBbmltYXRpb24KQEAgLTk4Niw2ICsxMDE3
LDE3IEBAIHN0YXRpYyBOU011dGFibGVTZXQgKmFjdGl2ZUFuaW1hdGlvbnM7CiAgICAgZnJhbWVU
aW1lciA9IG5pbDsKIH0KIAorc3RhdGljIHZvaWQgc2V0TmVlZHNEaXNwbGF5SW5BbmltYXRpb25S
ZWN0KGNvbnN0IHZvaWQgKmtleSwgY29uc3Qgdm9pZCAqdmFsdWUsIHZvaWQgKmNvbnRleHQpCit7
CisgICAgTlNWaWV3ICp2aWV3ID0gKE5TVmlldyAqKWtleTsKKyAgICBOU1NldCAqcmVuZGVyZXJz
ID0gKE5TU2V0ICopdmFsdWU7CisgICAgTlNFbnVtZXJhdG9yICpyZW5kZXJlckVudW1lcmF0b3Ig
PSBbcmVuZGVyZXJzIG9iamVjdEVudW1lcmF0b3JdOworICAgIFdlYkltYWdlUmVuZGVyZXIgKnJl
bmRlcmVyOworICAgIHdoaWxlICgocmVuZGVyZXIgPSBbcmVuZGVyZXJFbnVtZXJhdG9yIG5leHRP
YmplY3RdKSkgeworICAgICAgICBbdmlldyBzZXROZWVkc0Rpc3BsYXlJblJlY3Q6W3JlbmRlcmVy
IHRhcmdldEFuaW1hdGlvblJlY3RdXTsKKyAgICB9Cit9CisKIC0gKHZvaWQpX25leHRGcmFtZToo
aWQpY29udGV4dAogewogICAgIC8vIFJlbGVhc2UgdGhlIHRpbWVyIHRoYXQganVzdCBmaXJlZC4K
QEAgLTEwMDMsMTYgKzEwNDUsOCBAQCBzdGF0aWMgTlNNdXRhYmxlU2V0ICphY3RpdmVBbmltYXRp
b25zOwogICAgICAgICBjdXJyZW50RnJhbWUgPSAwOwogICAgIH0KICAgICAKLSAgICBOU0VudW1l
cmF0b3IgKnZpZXdFbnVtZXJhdG9yID0gWyhOU011dGFibGVEaWN0aW9uYXJ5ICopYW5pbWF0aW5n
UmVuZGVyZXJzIGtleUVudW1lcmF0b3JdOwotICAgIE5TVmlldyAqdmlldzsKLSAgICB3aGlsZSAo
KHZpZXcgPSBbdmlld0VudW1lcmF0b3IgbmV4dE9iamVjdF0pKSB7Ci0gICAgICAgIE5TTXV0YWJs
ZVNldCAqcmVuZGVyZXJzID0gWyhOU011dGFibGVEaWN0aW9uYXJ5ICopYW5pbWF0aW5nUmVuZGVy
ZXJzIG9iamVjdEZvcktleTp2aWV3XTsKLSAgICAgICAgV2ViSW1hZ2VSZW5kZXJlciAqcmVuZGVy
ZXI7Ci0gICAgICAgIE5TRW51bWVyYXRvciAqcmVuZGVyZXJFbnVtZXJhdG9yID0gW3JlbmRlcmVy
cyBvYmplY3RFbnVtZXJhdG9yXTsKLSAgICAgICAgd2hpbGUgKChyZW5kZXJlciA9IFtyZW5kZXJl
ckVudW1lcmF0b3IgbmV4dE9iamVjdF0pKSB7Ci0gICAgICAgICAgICBbdmlldyBzZXROZWVkc0Rp
c3BsYXlJblJlY3Q6W3JlbmRlcmVyIHRhcmdldEFuaW1hdGlvblJlY3RdXTsKLSAgICAgICAgfQot
ICAgIH0KKyAgICBpZiAoYW5pbWF0aW5nUmVuZGVyZXJzKQorICAgICAgICBDRkRpY3Rpb25hcnlB
cHBseUZ1bmN0aW9uKGFuaW1hdGluZ1JlbmRlcmVycywgc2V0TmVlZHNEaXNwbGF5SW5BbmltYXRp
b25SZWN0LCBOVUxMKTsKIH0KIAogLSAoQk9PTClzaG91bGRBbmltYXRlCkluZGV4OiBXZWJWaWV3
LnN1YnByb2ovV2ViSFRNTFZpZXcubQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3Jvb3QvV2Vi
S2l0L1dlYlZpZXcuc3VicHJvai9XZWJIVE1MVmlldy5tLHYKcmV0cmlldmluZyByZXZpc2lvbiAx
LjQ2NgpkaWZmIC1wIC11IC1yMS40NjYgV2ViVmlldy5zdWJwcm9qL1dlYkhUTUxWaWV3Lm0KLS0t
IFdlYlZpZXcuc3VicHJvai9XZWJIVE1MVmlldy5tCTI3IEF1ZyAyMDA1IDAwOjAzOjQzIC0wMDAw
CTEuNDY2CisrKyBXZWJWaWV3LnN1YnByb2ovV2ViSFRNTFZpZXcubQkzIFNlcCAyMDA1IDIzOjQ2
OjA3IC0wMDAwCkBAIC0xNjgxLDYgKzE2ODEsMjEgQEAgc3RhdGljIFdlYkhUTUxWaWV3ICpsYXN0
SGl0VmlldyA9IG5pbDsKICAgICBfTlNJbml0aWFsaXplS2lsbFJpbmcoKTsKIH0KIAorLSAoaWQp
cmV0YWluCit7CisgICAgcmV0dXJuIFtzdXBlciByZXRhaW5dOworfQorCistICh2b2lkKXJlbGVh
c2UKK3sKKyAgICBbc3VwZXIgcmVsZWFzZV07Cit9CisKKy0gKGlkKWF1dG9yZWxlYXNlCit7Cisg
ICAgcmV0dXJuIFtzdXBlciBhdXRvcmVsZWFzZV07Cit9CisKIC0gKHZvaWQpX3Jlc2V0Q2FjaGVk
V2ViUHJlZmVyZW5jZXM6KE5TTm90aWZpY2F0aW9uICopaWdub3JlZAogewogICAgIFdlYlByZWZl
cmVuY2VzICpwcmVmZXJlbmNlcyA9IFtbc2VsZiBfd2ViVmlld10gcHJlZmVyZW5jZXNdOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>3757</attachid>
            <date>2005-09-04 12:40:45 -0700</date>
            <delta_ts>2005-09-05 11:13:58 -0700</delta_ts>
            <desc>patch to fix the problem (retain inside dealloc)</desc>
            <filename>WebImageDataViewRetainPatch.txt</filename>
            <type>text/plain</type>
            <size>4560</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmVTdXBwb3J0LnN1YnByb2ovV2ViSW1hZ2VEYXRhLm0KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpS
Q1MgZmlsZTogL2N2cy9yb290L1dlYktpdC9XZWJDb3JlU3VwcG9ydC5zdWJwcm9qL1dlYkltYWdl
RGF0YS5tLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjQ2CmRpZmYgLXAgLXUgLXIxLjQ2IFdlYkNv
cmVTdXBwb3J0LnN1YnByb2ovV2ViSW1hZ2VEYXRhLm0KLS0tIFdlYkNvcmVTdXBwb3J0LnN1YnBy
b2ovV2ViSW1hZ2VEYXRhLm0JMjcgQXVnIDIwMDUgMDA6MDM6NDIgLTAwMDAJMS40NgorKysgV2Vi
Q29yZVN1cHBvcnQuc3VicHJvai9XZWJJbWFnZURhdGEubQkzIFNlcCAyMDA1IDIzOjQ1OjU5IC0w
MDAwCkBAIC05NTEsMjIgKzk1MSw1MyBAQCBzdGF0aWMgTlNNdXRhYmxlU2V0ICphY3RpdmVBbmlt
YXRpb25zOwogICAgIFthY3RpdmVBbmltYXRpb25zIGFkZE9iamVjdDpzZWxmXTsKIH0KIAordHlw
ZWRlZiBzdHJ1Y3QgeworICAgIFdlYkltYWdlUmVuZGVyZXIgKnJlbmRlcmVyOworICAgIENGTXV0
YWJsZUFycmF5UmVmIHZpZXdzVG9SZW1vdmU7Cit9IFJlbW92ZVJlbmRlcmVyUGFyYW1ldGVyczsK
Kworc3RhdGljIHZvaWQgcmVtb3ZlQW5pbWF0aW5nUmVuZGVyZXJGcm9tVmlldyhjb25zdCB2b2lk
ICprZXksIGNvbnN0IHZvaWQgKnZhbHVlLCB2b2lkICpjb250ZXh0KQoreworICAgIE5TVmlldyAq
dmlldyA9IChOU1ZpZXcgKilrZXk7CisgICAgTlNNdXRhYmxlU2V0ICpyZW5kZXJlcnMgPSAoTlNN
dXRhYmxlU2V0ICopdmFsdWU7CisgICAgUmVtb3ZlUmVuZGVyZXJQYXJhbWV0ZXJzICpwYXJhbWV0
ZXJzID0gKFJlbW92ZVJlbmRlcmVyUGFyYW1ldGVycyAqKWNvbnRleHQ7CisgICAgW3JlbmRlcmVy
cyByZW1vdmVPYmplY3Q6cGFyYW1ldGVycy0+cmVuZGVyZXJdOworICAgIGlmIChbcmVuZGVyZXJz
IGNvdW50XSA9PSAwKSB7CisgICAgICAgIENGTXV0YWJsZUFycmF5UmVmIHZpZXdzVG9SZW1vdmUg
PSBwYXJhbWV0ZXJzLT52aWV3c1RvUmVtb3ZlOworICAgICAgICBpZiAodmlld3NUb1JlbW92ZSA9
PSBOVUxMKSB7CisgICAgICAgICAgICB2aWV3c1RvUmVtb3ZlID0gQ0ZBcnJheUNyZWF0ZU11dGFi
bGUoTlVMTCwgMCwgTlVMTCk7CisgICAgICAgICAgICBwYXJhbWV0ZXJzLT52aWV3c1RvUmVtb3Zl
ID0gdmlld3NUb1JlbW92ZTsKKyAgICAgICAgfQorICAgICAgICBDRkFycmF5QXBwZW5kVmFsdWUo
dmlld3NUb1JlbW92ZSwgdmlldyk7CisgICAgfQorfQorCitzdGF0aWMgdm9pZCByZW1vdmVGcm9t
RGljdGlvbmFyeShjb25zdCB2b2lkICp2YWx1ZSwgdm9pZCAqY29udGV4dCkKK3sKKyAgICBDRk11
dGFibGVEaWN0aW9uYXJ5UmVmIGRpY3Rpb25hcnkgPSAoQ0ZNdXRhYmxlRGljdGlvbmFyeVJlZilj
b250ZXh0OworICAgIENGRGljdGlvbmFyeVJlbW92ZVZhbHVlKGRpY3Rpb25hcnksIHZhbHVlKTsK
K30KKwogLSAodm9pZClyZW1vdmVBbmltYXRpbmdSZW5kZXJlcjooV2ViSW1hZ2VSZW5kZXJlciAq
KXIKIHsKLSAgICBOU0VudW1lcmF0b3IgKnZpZXdFbnVtZXJhdG9yID0gWyhOU011dGFibGVEaWN0
aW9uYXJ5ICopYW5pbWF0aW5nUmVuZGVyZXJzIGtleUVudW1lcmF0b3JdOwotICAgIE5TVmlldyAq
dmlldzsKLSAgICB3aGlsZSAoKHZpZXcgPSBbdmlld0VudW1lcmF0b3IgbmV4dE9iamVjdF0pKSB7
Ci0gICAgICAgIE5TTXV0YWJsZVNldCAqcmVuZGVyZXJzID0gKE5TTXV0YWJsZVNldCAqKUNGRGlj
dGlvbmFyeUdldFZhbHVlKGFuaW1hdGluZ1JlbmRlcmVycywgdmlldyk7Ci0gICAgICAgIFtyZW5k
ZXJlcnMgcmVtb3ZlT2JqZWN0OnJdOwotICAgICAgICBpZiAoW3JlbmRlcmVycyBjb3VudF0gPT0g
MCkgewotICAgICAgICAgICAgQ0ZEaWN0aW9uYXJ5UmVtb3ZlVmFsdWUoYW5pbWF0aW5nUmVuZGVy
ZXJzLCB2aWV3KTsKKyAgICAvLyBJdCdzIGltcG9ydGFudCBub3QgdG8gZG8gYW55dGhpbmcgaGVy
ZSB0byBjb3VsZCByZXRhaW4gdGhlIHZpZXcsIHNpbmNlIHRoaXMgaXMgY2FsbGVkCisgICAgLy8g
ZnJvbSBjb2RlIHRvIHN0b3AgYW5pbWF0aW9ucywgd2hpY2ggaXMgY2FsbGVkIGluc2lkZSAtW1dl
YkhUTUxWaWV3IGRlYWxsb2NdLgorICAgIC8vIE9mIGNvdXJzZSwgdGhhdCdzIGFsc28gYSBkZXNp
Z24gcHJvYmxlbSB3ZSdsbCBoYXZlIHRvIGZpeCBldmVudHVhbGx5LCBzaW5jZSBkZWFsbG9jCisg
ICAgLy8gZG9lc24ndCBoYXBwZW4gYXQgYWxsIHdoZW4gcnVubmluZyB3aXRoIGdhcmJhZ2UgY29s
bGVjdGlvbi4KKyAgICBpZiAoYW5pbWF0aW5nUmVuZGVyZXJzKSB7CisgICAgICAgIFJlbW92ZVJl
bmRlcmVyUGFyYW1ldGVycyBwYXJhbWV0ZXJzID0geyByLCBOVUxMIH07CisgICAgICAgIENGRGlj
dGlvbmFyeUFwcGx5RnVuY3Rpb24oYW5pbWF0aW5nUmVuZGVyZXJzLCByZW1vdmVBbmltYXRpbmdS
ZW5kZXJlckZyb21WaWV3LCAmcGFyYW1ldGVycyk7CisgICAgICAgIENGTXV0YWJsZUFycmF5UmVm
IHZpZXdzVG9SZW1vdmUgPSBwYXJhbWV0ZXJzLnZpZXdzVG9SZW1vdmU7CisgICAgICAgIGlmICh2
aWV3c1RvUmVtb3ZlKSB7CisgICAgICAgICAgICBDRlJhbmdlIHJhbmdlID0gQ0ZSYW5nZU1ha2Uo
MCwgQ0ZBcnJheUdldENvdW50KHZpZXdzVG9SZW1vdmUpKTsKKyAgICAgICAgICAgIENGQXJyYXlB
cHBseUZ1bmN0aW9uKHZpZXdzVG9SZW1vdmUsIHJhbmdlLCByZW1vdmVGcm9tRGljdGlvbmFyeSwg
YW5pbWF0aW5nUmVuZGVyZXJzKTsKKyAgICAgICAgICAgIENGUmVsZWFzZSh2aWV3c1RvUmVtb3Zl
KTsKKyAgICAgICAgICAgIGlmIChDRkRpY3Rpb25hcnlHZXRDb3VudChhbmltYXRpbmdSZW5kZXJl
cnMpID09IDApIHsKKyAgICAgICAgICAgICAgICBbYWN0aXZlQW5pbWF0aW9ucyByZW1vdmVPYmpl
Y3Q6c2VsZl07CisgICAgICAgICAgICAgICAgW3NlbGYgX3N0b3BBbmltYXRpb25dOworICAgICAg
ICAgICAgfQogICAgICAgICB9CiAgICAgfQotICAgIAotICAgIGlmIChhbmltYXRpbmdSZW5kZXJl
cnMgJiYgQ0ZEaWN0aW9uYXJ5R2V0Q291bnQoYW5pbWF0aW5nUmVuZGVyZXJzKSA9PSAwKSB7Ci0g
ICAgICAgIFthY3RpdmVBbmltYXRpb25zIHJlbW92ZU9iamVjdDpzZWxmXTsKLSAgICAgICAgW3Nl
bGYgX3N0b3BBbmltYXRpb25dOwotICAgIH0KIH0KIAogLSAodm9pZClyZXNldEFuaW1hdGlvbgpA
QCAtOTg2LDYgKzEwMTcsMTcgQEAgc3RhdGljIE5TTXV0YWJsZVNldCAqYWN0aXZlQW5pbWF0aW9u
czsKICAgICBmcmFtZVRpbWVyID0gbmlsOwogfQogCitzdGF0aWMgdm9pZCBzZXROZWVkc0Rpc3Bs
YXlJbkFuaW1hdGlvblJlY3QoY29uc3Qgdm9pZCAqa2V5LCBjb25zdCB2b2lkICp2YWx1ZSwgdm9p
ZCAqY29udGV4dCkKK3sKKyAgICBOU1ZpZXcgKnZpZXcgPSAoTlNWaWV3ICopa2V5OworICAgIE5T
U2V0ICpyZW5kZXJlcnMgPSAoTlNTZXQgKil2YWx1ZTsKKyAgICBOU0VudW1lcmF0b3IgKnJlbmRl
cmVyRW51bWVyYXRvciA9IFtyZW5kZXJlcnMgb2JqZWN0RW51bWVyYXRvcl07CisgICAgV2ViSW1h
Z2VSZW5kZXJlciAqcmVuZGVyZXI7CisgICAgd2hpbGUgKChyZW5kZXJlciA9IFtyZW5kZXJlckVu
dW1lcmF0b3IgbmV4dE9iamVjdF0pKSB7CisgICAgICAgIFt2aWV3IHNldE5lZWRzRGlzcGxheUlu
UmVjdDpbcmVuZGVyZXIgdGFyZ2V0QW5pbWF0aW9uUmVjdF1dOworICAgIH0KK30KKwogLSAodm9p
ZClfbmV4dEZyYW1lOihpZCljb250ZXh0CiB7CiAgICAgLy8gUmVsZWFzZSB0aGUgdGltZXIgdGhh
dCBqdXN0IGZpcmVkLgpAQCAtMTAwMywxNiArMTA0NSw4IEBAIHN0YXRpYyBOU011dGFibGVTZXQg
KmFjdGl2ZUFuaW1hdGlvbnM7CiAgICAgICAgIGN1cnJlbnRGcmFtZSA9IDA7CiAgICAgfQogICAg
IAotICAgIE5TRW51bWVyYXRvciAqdmlld0VudW1lcmF0b3IgPSBbKE5TTXV0YWJsZURpY3Rpb25h
cnkgKilhbmltYXRpbmdSZW5kZXJlcnMga2V5RW51bWVyYXRvcl07Ci0gICAgTlNWaWV3ICp2aWV3
OwotICAgIHdoaWxlICgodmlldyA9IFt2aWV3RW51bWVyYXRvciBuZXh0T2JqZWN0XSkpIHsKLSAg
ICAgICAgTlNNdXRhYmxlU2V0ICpyZW5kZXJlcnMgPSBbKE5TTXV0YWJsZURpY3Rpb25hcnkgKilh
bmltYXRpbmdSZW5kZXJlcnMgb2JqZWN0Rm9yS2V5OnZpZXddOwotICAgICAgICBXZWJJbWFnZVJl
bmRlcmVyICpyZW5kZXJlcjsKLSAgICAgICAgTlNFbnVtZXJhdG9yICpyZW5kZXJlckVudW1lcmF0
b3IgPSBbcmVuZGVyZXJzIG9iamVjdEVudW1lcmF0b3JdOwotICAgICAgICB3aGlsZSAoKHJlbmRl
cmVyID0gW3JlbmRlcmVyRW51bWVyYXRvciBuZXh0T2JqZWN0XSkpIHsKLSAgICAgICAgICAgIFt2
aWV3IHNldE5lZWRzRGlzcGxheUluUmVjdDpbcmVuZGVyZXIgdGFyZ2V0QW5pbWF0aW9uUmVjdF1d
OwotICAgICAgICB9Ci0gICAgfQorICAgIGlmIChhbmltYXRpbmdSZW5kZXJlcnMpCisgICAgICAg
IENGRGljdGlvbmFyeUFwcGx5RnVuY3Rpb24oYW5pbWF0aW5nUmVuZGVyZXJzLCBzZXROZWVkc0Rp
c3BsYXlJbkFuaW1hdGlvblJlY3QsIE5VTEwpOwogfQogCiAtIChCT09MKXNob3VsZEFuaW1hdGUK
</data>
<flag name="review"
          id="527"
          type_id="1"
          status="+"
          setter="sullivan"
    />
          </attachment>
      

    </bug>

</bugzilla>