<?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>13120</bug_id>
          
          <creation_ts>2007-03-19 11:56:37 -0700</creation_ts>
          <short_desc>Plug-ins that draw through the QuickDraw interface may crash by hanging onto old GWorlds.</short_desc>
          <delta_ts>2007-04-02 14:32: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>Plug-ins</component>
          <version>523.x (Safari 3)</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>InRadar</keywords>
          <priority>P1</priority>
          <bug_severity>Critical</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Mark Ambachtsheer">mark.a</reporter>
          <assigned_to name="Darin Adler">darin</assigned_to>
          <cc>ap</cc>
    
    <cc>bruceq</cc>
    
    <cc>darin</cc>
    
    <cc>mark.a</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>18285</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Ambachtsheer">mark.a</who>
    <bug_when>2007-03-19 11:56:37 -0700</bug_when>
    <thetext>This is related to http://bugs.webkit.org/show_bug.cgi?id=12515.  It turns out that Flash plugins in particular may hang onto the GWorlds that are generated during update events and re-use them when responding to other events (e.g. &quot;data came back from the internet&quot; events).

In particular, this snippet will cause Flash to crash when WebKit draws inside a bitmap CGContext:

&lt;html&gt; &lt;head&gt;&lt;title&gt;&lt;/title&gt;&lt;/head&gt; &lt;body&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;http://widgetserver.com/syndication/subscriber/InsertPanel.js?panelId=59c092a7-2fcb-418d-a633-40d76fac6bc5&quot;&gt;&lt;/script&gt;
&lt;/body&gt;

The plugin hangs onto the GWorld pointer created by the new code written for http://bugs.webkit.org/show_bug.cgi?id=12515 .  However, the new code disposes that GWorld immediately after the response to the initial event is complete.  When the plugin gets some data back from the Internet, it tries to draw to that disposed GWorld.

This is on Mac OS X 10.4.9 with WebKit 522+.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>18286</commentid>
    <comment_count>1</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2007-03-19 12:33:25 -0700</bug_when>
    <thetext>I cannot reproduce this with revision 20289. I have saved the snippet to a file, opened and reloaded it several times, but didn&apos;t get any crashes. Is there some trick necessary to reproduce this? Could you please post a backtrace?

Changing priority/severity to match guidelines (Blocker is for bug that block WebKit development, see &lt;http://bugs.webkit.org/page.cgi?id=fields.html#bug_severity&gt;).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>18289</commentid>
    <comment_count>2</comment_count>
    <who name="Mark Ambachtsheer">mark.a</who>
    <bug_when>2007-03-19 12:44:06 -0700</bug_when>
    <thetext>Important to note that this will not reproduce in Safari-hosted WebKit which draws to onscreen CGContexts.  It will only cause a crash when drawing to offscreen bitmap CGContextRefs as in http://bugs.webkit.org/show_bug.cgi?id=12515 .

Also: I have a partial patch that prevents the crash, but I think additional window dirtying may be necessary in this case to notify the host that it should update from the bitmap context again.  Can provide my unfinished patch on request.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>18291</commentid>
    <comment_count>3</comment_count>
      <attachid>13706</attachid>
    <who name="Mark Ambachtsheer">mark.a</who>
    <bug_when>2007-03-19 12:54:34 -0700</bug_when>
    <thetext>Created attachment 13706
stack trace of crash

This is a stack trace showing one variation on the crash.  WebCore delivers data to Flash plugin; Flash plugin re-uses GWorldPtr that is no longer valid; Flash plugin crashes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>18148</commentid>
    <comment_count>4</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2007-03-19 18:07:58 -0700</bug_when>
    <thetext>My original understanding was that the GWorld code would not run during normal operation of Safari.

Bruce, comment?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>18150</commentid>
    <comment_count>5</comment_count>
    <who name="Bruce Q. Hammond">bruceq</who>
    <bug_when>2007-03-19 18:17:39 -0700</bug_when>
    <thetext>&gt; My original understanding was that the GWorld code would not run during normal
&gt; operation of Safari.

Correct.  This but will never happen in Safari.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>17863</commentid>
    <comment_count>6</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2007-03-21 22:30:27 -0700</bug_when>
    <thetext>&lt;rdar://problem/5080339&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>17501</commentid>
    <comment_count>7</comment_count>
      <attachid>13800</attachid>
    <who name="Mark Ambachtsheer">mark.a</who>
    <bug_when>2007-03-24 15:17:53 -0700</bug_when>
    <thetext>Created attachment 13800
Proposed fix.

The problem is that in the QuickDraw drawing model, plugins may draw to their port during any operation.  So for example, when a plugin receives NPP_Write, it may choose to draw immediately.

The previous bitmap GWorld implementation did not account for this; it setup a temporary GWorld before passing off to NPP_HandleEvent, then tore down the temporary GWorld when control was returned to WebKit.

The solution is to keep the temporary GWorld around until the next temporary GWorld is created.  In this way the plugin always has a valid GWorld to which it can draw.

Unfortunately, when drawing to a bitmap GWorld in this way, there does seem to be an issue in detecting when the bitmap should be painted back on the host application&apos;s canvas.  I have investigated several avenues to fix this but haven&apos;t come up with a good solution.  That problem is not fixed by this patch (which I hope will be fine, since it wasn&apos;t covered by this bug in the first place).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>17324</commentid>
    <comment_count>8</comment_count>
      <attachid>13815</attachid>
    <who name="Mark Ambachtsheer">mark.a</who>
    <bug_when>2007-03-25 16:46:44 -0700</bug_when>
    <thetext>Created attachment 13815
Proposed fix.

Bruce rightly pointed out that the first patch would leak a GWorld when the view was destroyed.  New patch that corrects the leak.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>17325</commentid>
    <comment_count>9</comment_count>
      <attachid>13816</attachid>
    <who name="Mark Ambachtsheer">mark.a</who>
    <bug_when>2007-03-25 16:59:46 -0700</bug_when>
    <thetext>Created attachment 13816
Proposed fix.

Forgot NP_NO_QUICKDRAW.  Added.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>16803</commentid>
    <comment_count>10</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2007-03-28 09:31:50 -0700</bug_when>
    <thetext>The patch attached to bug 13026 contains a fix for this one as well, now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>15882</commentid>
    <comment_count>11</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2007-04-02 14:32:44 -0700</bug_when>
    <thetext>Sadly, I couldn&apos;t come up with a good way to do regression tests.

Sending        WebKit/ChangeLog
Sending        WebKit/Plugins/WebBaseNetscapePluginView.h
Sending        WebKit/Plugins/WebBaseNetscapePluginView.mm
Transmitting file data ...
Committed revision 20668.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>13706</attachid>
            <date>2007-03-19 12:54:34 -0700</date>
            <delta_ts>2007-03-19 12:54:34 -0700</delta_ts>
            <desc>stack trace of crash</desc>
            <filename>13120_stacktrace.txt</filename>
            <type>text/plain</type>
            <size>1635</size>
            <attacher name="Mark Ambachtsheer">mark.a</attacher>
            
              <data encoding="base64">IzAgIDB4OTE3MTBhOGMgaW4gU2V0T3JpZ2luCiMxICAweDFlYTNjMGU5IGluIEZsYXNoX0VuZm9y
Y2VMb2NhbFNlY3VyaXR5CiMyICAweDFlYTRhMjBkIGluIEZsYXNoX0VuZm9yY2VMb2NhbFNlY3Vy
aXR5CiMzICAweDFlOGM1ZTM4IGluIGR5bGRfc3R1Yl92ZnByaW50ZgojNCAgMHgxZWEzOTBiNCBp
biBGbGFzaF9FbmZvcmNlTG9jYWxTZWN1cml0eQojNSAgMHgxZWEzOTA3OCBpbiBGbGFzaF9FbmZv
cmNlTG9jYWxTZWN1cml0eQojNiAgMHgxZThiNjMyZCBpbiBkeWxkX3N0dWJfdmZwcmludGYKIzcg
IDB4MWU4NzUwOGEgaW4gZHlsZF9zdHViX3ZmcHJpbnRmCiM4ICAweDFlODhlMTM3IGluIGR5bGRf
c3R1Yl92ZnByaW50ZgojOSAgMHgxZTg5MzAwNyBpbiBkeWxkX3N0dWJfdmZwcmludGYKIzEwIDB4
MWU4YzcxMDMgaW4gZHlsZF9zdHViX3ZmcHJpbnRmCiMxMSAweDFlOTExMTI5IGluIGR5bGRfc3R1
Yl92ZnByaW50ZgojMTIgMHgxZWEzMzdkMiBpbiBGbGFzaF9FbmZvcmNlTG9jYWxTZWN1cml0eQoj
MTMgMHgwMjgxNmUzOCBpbiAtW1dlYkJhc2VOZXRzY2FwZVBsdWdpblN0cmVhbSBfZGVsaXZlckRh
dGFdIGF0IFdlYkJhc2VOZXRzY2FwZVBsdWdpblN0cmVhbS5tOjQ0MAojMTQgMHgwMjgxNzFiNSBp
biAtW1dlYkJhc2VOZXRzY2FwZVBsdWdpblN0cmVhbSByZWNlaXZlZERhdGE6XSBhdCBXZWJCYXNl
TmV0c2NhcGVQbHVnaW5TdHJlYW0ubTo0ODEKIzE1IDB4MDYxM2JjNDEgaW4gV2ViQ29yZTo6TmV0
c2NhcGVQbHVnSW5TdHJlYW1Mb2FkZXI6OmRpZFJlY2VpdmVEYXRhIGF0IE5ldHNjYXBlUGx1Z0lu
U3RyZWFtTG9hZGVyTWFjLm1tOjk3CiMxNiAweDA2MTY3Njg4IGluIFdlYkNvcmU6OlJlc291cmNl
TG9hZGVyOjpkaWRSZWNlaXZlRGF0YSBhdCBSZXNvdXJjZUxvYWRlci5jcHA6MzIwCiMxNyAweDA2
MTQ2OGYwIGluIC1bV2ViQ29yZVJlc291cmNlSGFuZGxlQXNEZWxlZ2F0ZSBjb25uZWN0aW9uOmRp
ZFJlY2VpdmVEYXRhOmxlbmd0aFJlY2VpdmVkOl0gYXQgUmVzb3VyY2VIYW5kbGVNYWMubW06MzUx
CiMxOCAweDkyODRkYWZhIGluIC1bTlNVUkxDb25uZWN0aW9uKE5TVVJMQ29ubmVjdGlvbkludGVy
bmFsKSBfc2VuZERpZFJlY2VpdmVEYXRhQ2FsbGJhY2tdCiMxOSAweDkyODRiZGRiIGluIC1bTlNV
UkxDb25uZWN0aW9uKE5TVVJMQ29ubmVjdGlvbkludGVybmFsKSBfc2VuZENhbGxiYWNrc10KIzIw
IDB4OTI4NGJhYjUgaW4gX3NlbmRDYWxsYmFja3MKIzIxIDB4OTA4MmUwNWEgaW4gQ0ZSdW5Mb29w
UnVuU3BlY2lmaWMKIzIyIDB4OTA4MmRhY2UgaW4gQ0ZSdW5Mb29wUnVuSW5Nb2RlCiMyMyAweDky
ZGQ5OGQ4IGluIFJ1bkN1cnJlbnRFdmVudExvb3BJbk1vZGUKIzI0IDB4OTJkZDhmZTIgaW4gUmVj
ZWl2ZU5leHRFdmVudENvbW1vbgojMjUgMHg5MmRkOGUzOSBpbiBCbG9ja1VudGlsTmV4dEV2ZW50
TWF0Y2hpbmdMaXN0SW5Nb2RlCiMyNiAweDkzMjdmNDY1IGluIF9EUFNOZXh0RXZlbnQKIzI3IDB4
OTMyN2YwNTYgaW4gLVtOU0FwcGxpY2F0aW9uIG5leHRFdmVudE1hdGNoaW5nTWFzazp1bnRpbERh
dGU6aW5Nb2RlOmRlcXVldWU6XQojMjggMHg5MzI3OGRkYiBpbiAtW05TQXBwbGljYXRpb24gcnVu
XQojMjkgMHg5MzI2Y2QyZiBpbiBOU0FwcGxpY2F0aW9uTWFpbgoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>13800</attachid>
            <date>2007-03-24 15:17:53 -0700</date>
            <delta_ts>2007-03-25 16:46:44 -0700</delta_ts>
            <desc>Proposed fix.</desc>
            <filename>13120_v1.patch</filename>
            <type>text/plain</type>
            <size>1981</size>
            <attacher name="Mark Ambachtsheer">mark.a</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9QbHVnaW5zL1dlYkJhc2VOZXRzY2FwZVBsdWdpblZpZXcuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJLaXQvUGx1Z2lucy9XZWJCYXNlTmV0c2NhcGVQbHVnaW5WaWV3LmgJKHJldmlz
aW9uIDIwMjEzKQorKysgV2ViS2l0L1BsdWdpbnMvV2ViQmFzZU5ldHNjYXBlUGx1Z2luVmlldy5o
CSh3b3JraW5nIGNvcHkpCkBAIC03OSw2ICs3OSwxMSBAQAogICAgIEFHTENvbnRleHQgYWdsQ29u
dGV4dDsKICAgICBOU1dpbmRvdyAqYWdsV2luZG93OwogCisjaWZuZGVmIE5QX05PX1FVSUNLRFJB
VworICAgIC8vIFRoaXMgaXMgb25seSB2YWxpZCB3aGVuIGRyYXdpbmdNb2RlbCBpcyBOUERyYXdp
bmdNb2RlbFF1aWNrRHJhdworICAgIEdXb3JsZFB0ciBsYXN0R1dvcmxkOworI2VuZGlmIC8qIE5Q
X05PX1FVSUNLRFJBVyAqLworCiAgICAgQk9PTCBpc1N0YXJ0ZWQ7CiAgICAgQk9PTCBpblNldFdp
bmRvdzsKICAgICBCT09MIHN1c3BlbmRLZXlVcEV2ZW50czsKSW5kZXg6IFdlYktpdC9QbHVnaW5z
L1dlYkJhc2VOZXRzY2FwZVBsdWdpblZpZXcubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L1BsdWdp
bnMvV2ViQmFzZU5ldHNjYXBlUGx1Z2luVmlldy5tbQkocmV2aXNpb24gMjAyMTMpCisrKyBXZWJL
aXQvUGx1Z2lucy9XZWJCYXNlTmV0c2NhcGVQbHVnaW5WaWV3Lm1tCSh3b3JraW5nIGNvcHkpCkBA
IC00MDAsNiArNDAwLDEwIEBACiAgICAgICAgICAgICAvLyBJZiB0aGUgY3VycmVudCBjb250ZXh0
IGlzIGFuIG9mZnNjcmVlbiBiaXRtYXAsIHRoZW4gd2UgY3JlYXRlIGEgR1dvcmxkIGZvciBpdAog
ICAgICAgICAgICAgYm9vbCBvZmZTY3JlZW5Db250ZXh0ID0gY3VycmVudENvbnRleHQgJiYgV0tD
R0NvbnRleHRJc0JpdG1hcENvbnRleHQoY3VycmVudENvbnRleHQpOwogICAgICAgICAgICAgaWYg
KG9mZlNjcmVlbkNvbnRleHQpIHsKKyAgICAgICAgICAgICAgICBpZiAobGFzdEdXb3JsZCAhPSBO
VUxMKSB7CisgICAgICAgICAgICAgICAgICAgIERpc3Bvc2VHV29ybGQobGFzdEdXb3JsZCk7Cisg
ICAgICAgICAgICAgICAgICAgIGxhc3RHV29ybGQgPSBOVUxMOworICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICBDR0JpdG1hcEluZm8gY29udGV4dEJpdG1hcEluZm8gPSBDR0JpdG1h
cENvbnRleHRHZXRCaXRtYXBJbmZvKGN1cnJlbnRDb250ZXh0KTsKICAgICAgICAgICAgICAgICBH
V29ybGRQdHIgcE9mZlNjcmVlbkdXb3JsZDsKICAgICAgICAgICAgICAgICBSZWN0IG9mZnNjcmVl
bkJvdW5kczsKQEAgLTYwNCw5ICs2MDgsNyBAQAogICAgICAgICAgICAgLy8gSWYgdGhlIGN1cnJl
bnQgY29udGV4dCBpcyBhbiBvZmZzY3JlZW4gYml0bWFwLCB0aGVuIHdlIG5lZWQgdG8KICAgICAg
ICAgICAgIC8vIGRpc3Bvc2UgaXRzIEdXb3JsZCBhbmQgcmVzdG9yZSB0aGUgV2luZG93J3MgR1dv
cmxkCiAgICAgICAgICAgICBpZiAoY3VycmVudENvbnRleHQgJiYgV0tDR0NvbnRleHRJc0JpdG1h
cENvbnRleHQoY3VycmVudENvbnRleHQpKSB7Ci0gICAgICAgICAgICAgICAgR1dvcmxkUHRyIGN1
ckdXb3JsZDsKLSAgICAgICAgICAgICAgICBHZXRHV29ybGQoJmN1ckdXb3JsZCwgTlVMTCk7Ci0g
ICAgICAgICAgICAgICAgRGlzcG9zZUdXb3JsZChjdXJHV29ybGQpOworICAgICAgICAgICAgICAg
IEdldEdXb3JsZCgmbGFzdEdXb3JsZCwgTlVMTCk7CiAgICAgICAgICAgICAgICAgV2luZG93UmVm
IHdpbmRvd1JlZiA9IChXaW5kb3dSZWYpW1tzZWxmIGN1cnJlbnRXaW5kb3ddIHdpbmRvd1JlZl07
CiAgICAgICAgICAgICAgICAgQ0dyYWZQdHIgcG9ydCA9IEdldFdpbmRvd1BvcnQod2luZG93UmVm
KTsKICAgICAgICAgICAgICAgICBTZXRHV29ybGQocG9ydCwgTlVMTCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>13815</attachid>
            <date>2007-03-25 16:46:44 -0700</date>
            <delta_ts>2007-03-25 16:59:46 -0700</delta_ts>
            <desc>Proposed fix.</desc>
            <filename>13120_v4.patch</filename>
            <type>text/plain</type>
            <size>2156</size>
            <attacher name="Mark Ambachtsheer">mark.a</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9QbHVnaW5zL1dlYkJhc2VOZXRzY2FwZVBsdWdpblZpZXcuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJLaXQvUGx1Z2lucy9XZWJCYXNlTmV0c2NhcGVQbHVnaW5WaWV3LmgJKHJldmlz
aW9uIDIwNDg5KQorKysgV2ViS2l0L1BsdWdpbnMvV2ViQmFzZU5ldHNjYXBlUGx1Z2luVmlldy5o
CSh3b3JraW5nIGNvcHkpCkBAIC03OSw2ICs3OSwxMSBAQAogICAgIEFHTENvbnRleHQgYWdsQ29u
dGV4dDsKICAgICBOU1dpbmRvdyAqYWdsV2luZG93OwogCisjaWZuZGVmIE5QX05PX1FVSUNLRFJB
VworICAgIC8vIFRoaXMgaXMgb25seSB2YWxpZCB3aGVuIGRyYXdpbmdNb2RlbCBpcyBOUERyYXdp
bmdNb2RlbFF1aWNrRHJhdworICAgIEdXb3JsZFB0ciBsYXN0R1dvcmxkOworI2VuZGlmIC8qIE5Q
X05PX1FVSUNLRFJBVyAqLworCiAgICAgQk9PTCBpc1N0YXJ0ZWQ7CiAgICAgQk9PTCBpblNldFdp
bmRvdzsKICAgICBCT09MIHN1c3BlbmRLZXlVcEV2ZW50czsKSW5kZXg6IFdlYktpdC9QbHVnaW5z
L1dlYkJhc2VOZXRzY2FwZVBsdWdpblZpZXcubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L1BsdWdp
bnMvV2ViQmFzZU5ldHNjYXBlUGx1Z2luVmlldy5tbQkocmV2aXNpb24gMjA0ODkpCisrKyBXZWJL
aXQvUGx1Z2lucy9XZWJCYXNlTmV0c2NhcGVQbHVnaW5WaWV3Lm1tCSh3b3JraW5nIGNvcHkpCkBA
IC00MDAsNiArNDAwLDEwIEBACiAgICAgICAgICAgICAvLyBJZiB0aGUgY3VycmVudCBjb250ZXh0
IGlzIGFuIG9mZnNjcmVlbiBiaXRtYXAsIHRoZW4gd2UgY3JlYXRlIGEgR1dvcmxkIGZvciBpdAog
ICAgICAgICAgICAgYm9vbCBvZmZTY3JlZW5Db250ZXh0ID0gY3VycmVudENvbnRleHQgJiYgV0tD
R0NvbnRleHRJc0JpdG1hcENvbnRleHQoY3VycmVudENvbnRleHQpOwogICAgICAgICAgICAgaWYg
KG9mZlNjcmVlbkNvbnRleHQpIHsKKyAgICAgICAgICAgICAgICBpZiAobGFzdEdXb3JsZCAhPSBO
VUxMKSB7CisgICAgICAgICAgICAgICAgICAgIERpc3Bvc2VHV29ybGQobGFzdEdXb3JsZCk7Cisg
ICAgICAgICAgICAgICAgICAgIGxhc3RHV29ybGQgPSBOVUxMOworICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICBDR0JpdG1hcEluZm8gY29udGV4dEJpdG1hcEluZm8gPSBDR0JpdG1h
cENvbnRleHRHZXRCaXRtYXBJbmZvKGN1cnJlbnRDb250ZXh0KTsKICAgICAgICAgICAgICAgICBH
V29ybGRQdHIgcE9mZlNjcmVlbkdXb3JsZDsKICAgICAgICAgICAgICAgICBSZWN0IG9mZnNjcmVl
bkJvdW5kczsKQEAgLTYwNCw5ICs2MDgsNyBAQAogICAgICAgICAgICAgLy8gSWYgdGhlIGN1cnJl
bnQgY29udGV4dCBpcyBhbiBvZmZzY3JlZW4gYml0bWFwLCB0aGVuIHdlIG5lZWQgdG8KICAgICAg
ICAgICAgIC8vIGRpc3Bvc2UgaXRzIEdXb3JsZCBhbmQgcmVzdG9yZSB0aGUgV2luZG93J3MgR1dv
cmxkCiAgICAgICAgICAgICBpZiAoY3VycmVudENvbnRleHQgJiYgV0tDR0NvbnRleHRJc0JpdG1h
cENvbnRleHQoY3VycmVudENvbnRleHQpKSB7Ci0gICAgICAgICAgICAgICAgR1dvcmxkUHRyIGN1
ckdXb3JsZDsKLSAgICAgICAgICAgICAgICBHZXRHV29ybGQoJmN1ckdXb3JsZCwgTlVMTCk7Ci0g
ICAgICAgICAgICAgICAgRGlzcG9zZUdXb3JsZChjdXJHV29ybGQpOworICAgICAgICAgICAgICAg
IEdldEdXb3JsZCgmbGFzdEdXb3JsZCwgTlVMTCk7CiAgICAgICAgICAgICAgICAgV2luZG93UmVm
IHdpbmRvd1JlZiA9IChXaW5kb3dSZWYpW1tzZWxmIGN1cnJlbnRXaW5kb3ddIHdpbmRvd1JlZl07
CiAgICAgICAgICAgICAgICAgQ0dyYWZQdHIgcG9ydCA9IEdldFdpbmRvd1BvcnQod2luZG93UmVm
KTsKICAgICAgICAgICAgICAgICBTZXRHV29ybGQocG9ydCwgTlVMTCk7CkBAIC0xNjIxLDYgKzE2
MjMsMTEgQEAKIAogICAgIFtzZWxmIGZyZWVBdHRyaWJ1dGVLZXlzQW5kVmFsdWVzXTsKIAorICAg
IGlmIChsYXN0R1dvcmxkICE9IE5VTEwpCisgICAgeworICAgICAgICBEaXNwb3NlR1dvcmxkKGxh
c3RHV29ybGQpOworICAgIH0KKwogICAgIFtzdXBlciBkZWFsbG9jXTsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>13816</attachid>
            <date>2007-03-25 16:59:46 -0700</date>
            <delta_ts>2007-03-28 09:32:01 -0700</delta_ts>
            <desc>Proposed fix.</desc>
            <filename>13120_v5.patch</filename>
            <type>text/plain</type>
            <size>2211</size>
            <attacher name="Mark Ambachtsheer">mark.a</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9QbHVnaW5zL1dlYkJhc2VOZXRzY2FwZVBsdWdpblZpZXcuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJLaXQvUGx1Z2lucy9XZWJCYXNlTmV0c2NhcGVQbHVnaW5WaWV3LmgJKHJldmlz
aW9uIDIwNDg5KQorKysgV2ViS2l0L1BsdWdpbnMvV2ViQmFzZU5ldHNjYXBlUGx1Z2luVmlldy5o
CSh3b3JraW5nIGNvcHkpCkBAIC03OSw2ICs3OSwxMSBAQAogICAgIEFHTENvbnRleHQgYWdsQ29u
dGV4dDsKICAgICBOU1dpbmRvdyAqYWdsV2luZG93OwogCisjaWZuZGVmIE5QX05PX1FVSUNLRFJB
VworICAgIC8vIFRoaXMgaXMgb25seSB2YWxpZCB3aGVuIGRyYXdpbmdNb2RlbCBpcyBOUERyYXdp
bmdNb2RlbFF1aWNrRHJhdworICAgIEdXb3JsZFB0ciBsYXN0R1dvcmxkOworI2VuZGlmIC8qIE5Q
X05PX1FVSUNLRFJBVyAqLworCiAgICAgQk9PTCBpc1N0YXJ0ZWQ7CiAgICAgQk9PTCBpblNldFdp
bmRvdzsKICAgICBCT09MIHN1c3BlbmRLZXlVcEV2ZW50czsKSW5kZXg6IFdlYktpdC9QbHVnaW5z
L1dlYkJhc2VOZXRzY2FwZVBsdWdpblZpZXcubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L1BsdWdp
bnMvV2ViQmFzZU5ldHNjYXBlUGx1Z2luVmlldy5tbQkocmV2aXNpb24gMjA0ODkpCisrKyBXZWJL
aXQvUGx1Z2lucy9XZWJCYXNlTmV0c2NhcGVQbHVnaW5WaWV3Lm1tCSh3b3JraW5nIGNvcHkpCkBA
IC00MDAsNiArNDAwLDEwIEBACiAgICAgICAgICAgICAvLyBJZiB0aGUgY3VycmVudCBjb250ZXh0
IGlzIGFuIG9mZnNjcmVlbiBiaXRtYXAsIHRoZW4gd2UgY3JlYXRlIGEgR1dvcmxkIGZvciBpdAog
ICAgICAgICAgICAgYm9vbCBvZmZTY3JlZW5Db250ZXh0ID0gY3VycmVudENvbnRleHQgJiYgV0tD
R0NvbnRleHRJc0JpdG1hcENvbnRleHQoY3VycmVudENvbnRleHQpOwogICAgICAgICAgICAgaWYg
KG9mZlNjcmVlbkNvbnRleHQpIHsKKyAgICAgICAgICAgICAgICBpZiAobGFzdEdXb3JsZCAhPSBO
VUxMKSB7CisgICAgICAgICAgICAgICAgICAgIERpc3Bvc2VHV29ybGQobGFzdEdXb3JsZCk7Cisg
ICAgICAgICAgICAgICAgICAgIGxhc3RHV29ybGQgPSBOVUxMOworICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICBDR0JpdG1hcEluZm8gY29udGV4dEJpdG1hcEluZm8gPSBDR0JpdG1h
cENvbnRleHRHZXRCaXRtYXBJbmZvKGN1cnJlbnRDb250ZXh0KTsKICAgICAgICAgICAgICAgICBH
V29ybGRQdHIgcE9mZlNjcmVlbkdXb3JsZDsKICAgICAgICAgICAgICAgICBSZWN0IG9mZnNjcmVl
bkJvdW5kczsKQEAgLTYwNCw5ICs2MDgsNyBAQAogICAgICAgICAgICAgLy8gSWYgdGhlIGN1cnJl
bnQgY29udGV4dCBpcyBhbiBvZmZzY3JlZW4gYml0bWFwLCB0aGVuIHdlIG5lZWQgdG8KICAgICAg
ICAgICAgIC8vIGRpc3Bvc2UgaXRzIEdXb3JsZCBhbmQgcmVzdG9yZSB0aGUgV2luZG93J3MgR1dv
cmxkCiAgICAgICAgICAgICBpZiAoY3VycmVudENvbnRleHQgJiYgV0tDR0NvbnRleHRJc0JpdG1h
cENvbnRleHQoY3VycmVudENvbnRleHQpKSB7Ci0gICAgICAgICAgICAgICAgR1dvcmxkUHRyIGN1
ckdXb3JsZDsKLSAgICAgICAgICAgICAgICBHZXRHV29ybGQoJmN1ckdXb3JsZCwgTlVMTCk7Ci0g
ICAgICAgICAgICAgICAgRGlzcG9zZUdXb3JsZChjdXJHV29ybGQpOworICAgICAgICAgICAgICAg
IEdldEdXb3JsZCgmbGFzdEdXb3JsZCwgTlVMTCk7CiAgICAgICAgICAgICAgICAgV2luZG93UmVm
IHdpbmRvd1JlZiA9IChXaW5kb3dSZWYpW1tzZWxmIGN1cnJlbnRXaW5kb3ddIHdpbmRvd1JlZl07
CiAgICAgICAgICAgICAgICAgQ0dyYWZQdHIgcG9ydCA9IEdldFdpbmRvd1BvcnQod2luZG93UmVm
KTsKICAgICAgICAgICAgICAgICBTZXRHV29ybGQocG9ydCwgTlVMTCk7CkBAIC0xNjIxLDYgKzE2
MjMsMTMgQEAKIAogICAgIFtzZWxmIGZyZWVBdHRyaWJ1dGVLZXlzQW5kVmFsdWVzXTsKIAorI2lm
bmRlZiBOUF9OT19RVUlDS0RSQVcKKyAgICBpZiAobGFzdEdXb3JsZCAhPSBOVUxMKQorICAgIHsK
KyAgICAgICAgRGlzcG9zZUdXb3JsZChsYXN0R1dvcmxkKTsKKyAgICB9CisjZW5kaWYgLyogTlBf
Tk9fUVVJQ0tEUkFXICovCisKICAgICBbc3VwZXIgZGVhbGxvY107CiB9CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>