<?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>26568</bug_id>
          
          <creation_ts>2009-06-19 23:34:51 -0700</creation_ts>
          <short_desc>Repro crash animating GIF if previously used in a closed window&apos;s back/forward list</short_desc>
          <delta_ts>2009-06-21 16:15:43 -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>Platform</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>Windows Vista</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alice Liu">alice.barraclough</reporter>
          <assigned_to name="Alice Liu">alice.barraclough</assigned_to>
          <cc>darin</cc>
    
    <cc>mitz</cc>
    
    <cc>sfalken</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>127110</commentid>
    <comment_count>0</comment_count>
    <who name="Alice Liu">alice.barraclough</who>
    <bug_when>2009-06-19 23:34:51 -0700</bug_when>
    <thetext>&lt;rdar://problem/6978362&gt;

This bug reproduces in Safari 4 on Windows but not on Mac because on Mac we execute the platformWidget() code paths instead of calling hostWindow().

Steps to repro:
- Safari 4 on any Windows platform
- Set Safari to open new windows with an empty page
- Launch
- Open 2 empty windows
- Navigate to http://www.forum.skoda-club.ru/viewtopic.php?t=38976&amp;postdays=0&amp;postorder=asc&amp;start=15&amp;sid=9d258270773fafd77a27418fb1c8180b
- Navigate in *same* window to about:blank
- close window w/ about:blank
- *QUICKLY* load in second window: http://www.forum.skoda-club.ru/viewtopic.php?t=38976&amp;postdays=0&amp;postorder=asc&amp;start=15&amp;sid=9d258270773fafd77a27418fb1c8180b
---&gt; crash

We delay destruction of the back/forward list, so a cached image can be left with a reference to a client that has a null page.  


STACK_TEXT:  
0018d2f0 6cc29352 0018d3d0 00000000 7df1f704 WebKit!WebCore::ScrollView::repaintContentRectangle+0x2f
0018d358 6cd66586 0018d3d0 00000000 7df1f704 WebKit!WebCore::FrameView::repaintContentRectangle+0x1f2
0018d398 6cbd1319 0018d3d0 00000000 6cbd1413 WebKit!WebCore::RenderView::repaintViewRectangle+0x66
0018d3a4 6cbd1413 7df1f704 0018d3d0 00000000 WebKit!WebCore::RenderObject::repaintUsingContainer+0x39
0018d3e0 6ce2df04 0018d408 00000000 7e1afa80 WebKit!WebCore::RenderObject::repaintRectangle+0x93
0018d480 6ce2bbae 7e1afa80 00000000 7f0276e8 WebKit!WebCore::RenderImage::imageChanged+0x2c4
0018d4a8 6ce2c0b7 00000000 00000001 6ceb9e6c WebKit!WebCore::CachedImage::notifyObservers+0x2e
0018d4b4 6ceb9e6c 7f0276e8 0018f5b8 7f0276e8 WebKit!WebCore::CachedImage::animationAdvanced+0x17
0018d52c 6cebfcfb 00000001 0018f5b8 7f0276e8 WebKit!WebCore::BitmapImage::startAnimation+0x26c
0018d598 6cc46180 0018f5b8 0018d5e0 0018d5d0 WebKit!WebCore::BitmapImage::draw+0x1b
0018d5f0 6cc45c01 41b00000 421c0000 00000002 WebKit!WebCore::GraphicsContext::drawImage+0x170
0018d62c 6cc45b5b 0018f5b8 00000002 00000000 WebKit!WebCore::GraphicsContext::drawImage+0x91
0018d650 6ce2e11d 0018d688 00000000 00000354 WebKit!WebCore::GraphicsContext::drawImage+0x2b
0018d6d4 6cefaed5 0018d750 00000354 00000037 WebKit!WebCore::RenderImage::paintReplaced+0x1cd
0018d72c 6ce8ce44 0018d750 00000354 00000037 WebKit!WebCore::RenderReplaced::paint+0x195
0018d77c 6cef2dcf 0018d7c8 0000032e 00000027 WebKit!WebCore::InlineBox::paint+0xd4
0018d7f4 6cef2dcf 0018d840 0000032e 00000027 WebKit!WebCore::InlineFlowBox::paint+0x40f
0018d86c 6cef2dcf 0018d8b8 0000032e 00000027 WebKit!WebCore::InlineFlowBox::paint+0x40f
0018d8e4 6cec59ea 0018d978 0000032e 00000027 WebKit!WebCore::InlineFlowBox::paint+0x40f
0018d904 6ceba67d 0018d978 0000032e 00000027 WebKit!WebCore::RootInlineBox::paint+0x1a
0018d9a4 6cdfa92f 7e83607c 7e836010 0018da60 WebKit!WebCore::RenderLineBoxList::paint+0x38d
0018d9c8 6cdfad35 0018da60 0000032e 0000032e WebKit!WebCore::RenderBlock::paintContents+0x3f
0018d9fc 6cdfa319 0018da60 0000032e 00000027 WebKit!WebCore::RenderBlock::paintObject+0xe5
0018da3c 6cdfaa7e 0018da60 0000032e 00000027 WebKit!WebCore::RenderBlock::paint+0xd9
0018da88 6cdfa93a 7e9f4308 0018db00 0000032d WebKit!WebCore::RenderBlock::paintChildren+0x13e
0018daa8 6cdfad35 0018dbd8 0000032d 0000032d WebKit!WebCore::RenderBlock::paintContents+0x4a
0018dadc 6cdfa319 0018dbd8 0000032d 00000026 WebKit!WebCore::RenderBlock::paintObject+0xe5
0018db1c 6ce0fca5 0018dbd8 0000032d 00000026 WebKit!WebCore::RenderBlock::paint+0xd9
0018db34 6ce0d2bd 0018dbd8 0000032d 00000026 WebKit!WebCore::RenderTableCell::paint+0x95
0018db8c 6ce0cdd4 0018dbd8 0000032d 00000026 WebKit!WebCore::RenderTableSection::paintObject+0x4cd
0018dbac 6ce09214 0018dbd8 00000300 00000004 WebKit!WebCore::RenderTableSection::paint+0x54
0018dcac 6cef3221 00000000 00000006 7f6b2ee4 WebKit!WebCore::RenderTable::paintObject+0x124
0018dd80 6cef2e06 0018de90 0000031a 00000006 WebKit!WebCore::InlineFlowBox::paintBoxDecorations+0xd1
0018dec0 6cdfabac 0018df78 0018df18 6cdf81f3 WebKit!WebCore::InlineFlowBox::paint+0x446
0018decc 6cdf81f3 00000000 0000031a 0018df78 WebKit!WebCore::RenderBlock::paintCaret+0x5c
0018dfa0 6cdfa93a 7e9f3dc4 0018e000 0000031a WebKit!WebCore::RenderBlock::overflowRect+0x203
0018dfc0 6cdfad35 0018e058 0000031a 0000031a WebKit!WebCore::RenderBlock::paintContents+0x4a
0018dff4 6cdfa319 0018e058 0000031a 00000006 WebKit!WebCore::RenderBlock::paintObject+0xe5
0018e034 6cdfaa7e 0018e058 0000031a 00000006 WebKit!WebCore::RenderBlock::paint+0xd9
0018e080 6cdfa93a 7e9f3d3c 0018e100 0000031a WebKit!WebCore::RenderBlock::paintChildren+0x13e
0018e0a0 6cdfad35 0018e138 0000031a 0000031a WebKit!WebCore::RenderBlock::paintContents+0x4a
0018e0d4 6cdfa319 0018e138 0000031a 00000006 WebKit!WebCore::RenderBlock::paintObject+0xe5
0018e114 6cdfaa7e 0018e138 0000031a 00000006 WebKit!WebCore::RenderBlock::paint+0xd9
0018e160 6cdfa93a 7e9f3c98 0018e200 00000318 WebKit!WebCore::RenderBlock::paintChildren+0x13e
0018e180 6cdfad35 0018e2b0 00000318 00000318 WebKit!WebCore::RenderBlock::paintContents+0x4a
0018e1b4 6cdfa319 0018e2b0 00000318 00000004 WebKit!WebCore::RenderBlock::paintObject+0xe5
0018e1f4 6ce0fca5 0018e2b0 00000318 00000004 WebKit!WebCore::RenderBlock::paint+0xd9
0018e20c 6ce0d2bd 0018e2b0 00000034 00000004 WebKit!WebCore::RenderTableCell::paint+0x95
0018e264 6ce0cdd4 0018e2b0 00000034 00000004 WebKit!WebCore::RenderTableSection::paintObject+0x4cd
0018e284 6ce09214 0018e2b0 00000000 00000004 WebKit!WebCore::RenderTableSection::paint+0x54
0018e370 6fcd4c58 80b395fb 0d292a48 00000001 WebKit!WebCore::RenderTable::paintObject+0x124
0018e3b4 6fcd4c39 00630000 00000000 6fcd4c58 msvcr80!free+0xec
0018e400 80027309 0d298fa8 6e89181d 07718558 msvcr80!free+0xcd</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>127111</commentid>
    <comment_count>1</comment_count>
      <attachid>31588</attachid>
    <who name="Alice Liu">alice.barraclough</who>
    <bug_when>2009-06-19 23:36:57 -0700</bug_when>
    <thetext>Created attachment 31588
patch and manual test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>127112</commentid>
    <comment_count>2</comment_count>
      <attachid>31588</attachid>
    <who name="">mitz</who>
    <bug_when>2009-06-20 00:04:09 -0700</bug_when>
    <thetext>Comment on attachment 31588
patch and manual test

The null checks are good in preventing crashes, but I wonder if it isn’t practical to augment them with ASSERTs, and to add code at a higher level that would stop this crash from happening—one possible place is RenderView::repaintViewRectangle(), but even better would be to change implementations of imageChanged() such that they don’t do any unnecessary work (such as computing a repaint rectangle) when the document is in the back/forward cache.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>127151</commentid>
    <comment_count>3</comment_count>
      <attachid>31588</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2009-06-20 12:07:01 -0700</bug_when>
    <thetext>Comment on attachment 31588
patch and manual test

I&apos;m going to r+ notwithstanding Mitz&apos;s comments, because I think further improvement to fix the problem at a higher level can be done as a separate patch.

Is it possible to make an automated layout test for this? I believe layout tests have the power to open and navigate additional windows. Let&apos;s try to make the test into a fully automated LayoutTest if possible.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>127187</commentid>
    <comment_count>4</comment_count>
    <who name="Alice Liu">alice.barraclough</who>
    <bug_when>2009-06-20 21:20:48 -0700</bug_when>
    <thetext>The crash requires that the back/forward cache be enabled, which afaik is not enabled in the automated layout tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>127259</commentid>
    <comment_count>5</comment_count>
    <who name="">mitz</who>
    <bug_when>2009-06-21 16:15:43 -0700</bug_when>
    <thetext>Fixed by Alice in &lt;http://trac.webkit.org/changeset/44908&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>31588</attachid>
            <date>2009-06-19 23:36:57 -0700</date>
            <delta_ts>2009-06-20 12:07:01 -0700</delta_ts>
            <desc>patch and manual test</desc>
            <filename>patch6978362.txt</filename>
            <type>text/plain</type>
            <size>9071</size>
            <attacher name="Alice Liu">alice.barraclough</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0NDg4OSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjIgQEAKKzIwMDktMDYtMTkgIEFsaWNlIExpdSAgPGFsaWNlLmxpdUBhcHBsZS5j
b20+CisKKyAgICAgICAgRml4IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yNjU2OCAKKyAgICAgICAgUmVwcm8gY3Jhc2ggYW5pbWF0aW5nIEdJRiBpZiBwcmV2aW91c2x5
IHVzZWQgaW4gYSBjbG9zZWQgd2luZG93J3MgYmFjay9mb3J3YXJkIGxpc3QKKyAgICAgICAgQWxz
byBmaWxlZCBhcyA8cmRhcjovL3Byb2JsZW0vNjk3ODM2Mj4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDYW4ndCB0ZXN0IHRoaXMgYnVnIHdpdGggYW4g
YXV0b21hdGVkIGxheW91dCB0ZXN0IHNpbmNlIGl0IHJlcXVpcmVzIGIvZiBjYWNoaW5nIAorICAg
ICAgICAqIG1hbnVhbC10ZXN0cy9hbmltYXRlZC1naWYtYmZjYWNoZS1jcmFzaC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBtYW51YWwtdGVzdHMvcmVzb3VyY2VzL2NvbnRhaW5zQW5pbWF0ZWRHaWYu
aHRtbDogQWRkZWQuCisKKyAgICAgICAgQWRkaW5nIGNoZWNrcyBmb3IgaG9zdFdpbmRvdygpIHNp
bmNlIHRoZXJlIGlzIG5vIGd1YXJhbnRlZSB0aGF0IHRoZSBQYWdlIGlzIGFsaXZlCisgICAgICAg
ICogcGxhdGZvcm0vU2Nyb2xsVmlldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxWaWV3
OjpzY3JvbGxSZWN0SW50b1ZpZXdSZWN1cnNpdmVseSk6CisgICAgICAgIChXZWJDb3JlOjpTY3Jv
bGxWaWV3Ojpjb250ZW50c1RvU2NyZWVuKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbFZpZXc6
OnNjcmVlblRvQ29udGVudHMpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsVmlldzo6d2hlZWxF
dmVudCk6CisKIDIwMDktMDYtMTkgIEJyaWFuIFdlaW5zdGVpbiAgPGJ3ZWluc3RlaW5AYXBwbGUu
Y29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFN0ZXZlIEZhbGtlbmJ1cmcuCkluZGV4OiBXZWJD
b3JlL21hbnVhbC10ZXN0cy9hbmltYXRlZC1naWYtYmZjYWNoZS1jcmFzaC5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvbWFudWFsLXRlc3RzL2FuaW1hdGVkLWdpZi1iZmNhY2hlLWNyYXNoLmh0
bWwJKHJldmlzaW9uIDApCisrKyBXZWJDb3JlL21hbnVhbC10ZXN0cy9hbmltYXRlZC1naWYtYmZj
YWNoZS1jcmFzaC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDUwIEBACis8aHRtbD4KKzxz
Y3JpcHQ+CisKK3ZhciB0aGVXaW5kb3c7CisKK2Z1bmN0aW9uIHN0ZXAxKCkKK3sKKyAgICB0aGVX
aW5kb3cgPSB3aW5kb3cub3BlbigiLi9yZXNvdXJjZXMvY29udGFpbnNBbmltYXRlZEdpZi5odG1s
IiwgIngiKTsKKyAgICBzZXRUaW1lb3V0KHN0ZXAyLCAxMDApOworfQorCitmdW5jdGlvbiBzdGVw
MigpCit7CisgICAgd2luZG93Lm9wZW4oImFib3V0OmJsYW5rIiwgIngiKTsKKyAgICBzZXRUaW1l
b3V0KHN0ZXAzLCAxMDApOworfQorCitmdW5jdGlvbiBzdGVwMygpCit7CisgICAgdGhlV2luZG93
LmNsb3NlKCk7CisgICAgdGhlV2luZG93ID0gd2luZG93Lm9wZW4oIi4vcmVzb3VyY2VzL2NvbnRh
aW5zQW5pbWF0ZWRHaWYuaHRtbCIpOworICAgIHNldFRpbWVvdXQoc3RlcDQsIDUwMCk7Cit9CisK
K2Z1bmN0aW9uIHN0ZXA0KCkKK3sKKyAgICB0aGVXaW5kb3cuY2xvc2UoKTsKKyAgICBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicmVzdWx0cyIpLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRl
eHROb2RlKCJQQVNTRUQiKSk7Cit9CisKKzwvc2NyaXB0PgorCis8Ym9keT4KKzxwPlRoaXMgcGFn
ZSB0ZXN0cyB0aGUgZml4IGZvciA8YnI+Cis8YSBocmVmPSJyZGFyOi8vcHJvYmxlbS82OTc4MzYy
Ij5yZGFyOi8vcHJvYmxlbS82OTc4MzYyPC9hPiBSZXBybyBjcmFzaCBhbmltYXRpbmcgR0lGIGlm
IHByZXZpb3VzbHkgdXNlZCBpbiBhIGNsb3NlZCB3aW5kb3cncyBiYWNrL2ZvcndhcmQgbGlzdCA8
YnI+Cis8YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjY1
NjgiPkJ1ZyAyNjU2ODwvYT4gPGJyPgorPHA+UHJlcmVxdWlzaXRlczo8YnI+Cis8dWw+PGxpPnJ1
biB0aGUgTGF5b3V0VGVzdCdzIHdlYnNlcnZlciAoV2ViS2l0VG9vbHMvcnVuLXdlYmtpdC1odHRw
ZCk8L3VsPgorPHA+VGhlbiBjbGljayB0aGlzIGJ1dHRvbjogPGlucHV0IHR5cGU9ImJ1dHRvbiIg
dmFsdWU9IlJ1biB0ZXN0IiBvbmNsaWNrPSJzdGVwMSgpIj4KKzxwPkV4cGVjdGVkIHJlc3VsdHM6
PGJyPgorPHVsPgorPGxpPkEgd2luZG93IHdpbGwgb3BlbiwgbG9hZGluZyBhIHBhZ2Ugd2l0aCBh
biBhbmltYXRlZCBnaWYuPC9saT4KKzxsaT5hYm91dDpibGFuayB3aWxsIGJlIGxvYWRlZCBpbiB0
aGF0IHdpbmRvdywgcHV0dGluZyB0aGUgYW5pbWF0ZWQgZ2lmIGluIHRoZSBiYWNrL2ZvcndhcmQg
Y2FjaGUuPC9saT4KKzxsaT5UaGF0IHdpbmRvdyB3aWxsIGNsb3NlLjwvbGk+Cis8bGk+QSBuZXcg
d2luZG93IHdpbGwgb3BlbiwgbG9hZGluZyB0aGF0IHBhZ2Ugd2l0aCB0aGUgYW5pbWF0ZWQgZ2lm
PC9saT4KKzxsaT5ObyBjcmFzaCBtZWFucyB0ZXN0IHBhc3NlZCA8L2xpPgorPC91bD4KKzxzcGFu
IHN0eWxlPSJjb2xvcjpncmVlbjsiIGlkPSJyZXN1bHRzIj48L3NwYW4+Cis8L2JvZHk+Cis8L2h0
bWw+CkluZGV4OiBXZWJDb3JlL21hbnVhbC10ZXN0cy9yZXNvdXJjZXMvY29udGFpbnNBbmltYXRl
ZEdpZi5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvbWFudWFsLXRlc3RzL3Jlc291cmNlcy9j
b250YWluc0FuaW1hdGVkR2lmLmh0bWwJKHJldmlzaW9uIDApCisrKyBXZWJDb3JlL21hbnVhbC10
ZXN0cy9yZXNvdXJjZXMvY29udGFpbnNBbmltYXRlZEdpZi5odG1sCShyZXZpc2lvbiAwKQpAQCAt
MCwwICsxLDMgQEAKKzxodG1sPgorPGltZyBzcmM9Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9taXNj
L3Jlc291cmNlcy9hbmltYXRlZC1naWYtd2l0aC1vZmZzZXRzLmdpZiIgLz4KKzwvaHRtbD4KSW5k
ZXg6IFdlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmNwcAkocmV2aXNpb24gNDQ3ODUpCisrKyBXZWJDb3JlL3Bs
YXRmb3JtL1Njcm9sbFZpZXcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNzksNyArMjc5LDggQEAg
dm9pZCBTY3JvbGxWaWV3OjpzY3JvbGxSZWN0SW50b1ZpZXdSZWN1cgogICAgIC8vIG9uIHVwIHRo
ZSB2aWV3IGNoYWluLgogICAgIC8vIFRoaXMgcmVjdCBpcyBub3QgY2xhbXBlZCwgc2luY2UgTWFp
bCBhY3R1YWxseSByZWxpZXMgb24gcmVjZWl2aW5nIGFuIHVuY2xhbXBlZCByZWN0IHdpdGggbmVn
YXRpdmUgY29vcmRpbmF0ZXMgaW4gb3JkZXIgdG8KICAgICAvLyBleHBvc2UgdGhlIGhlYWRlcnMu
Ci0gICAgaG9zdFdpbmRvdygpLT5zY3JvbGxSZWN0SW50b1ZpZXcocmVjdCwgdGhpcyk7CisgICAg
aWYgKGhvc3RXaW5kb3coKSkKKyAgICAgICAgaG9zdFdpbmRvdygpLT5zY3JvbGxSZWN0SW50b1Zp
ZXcocmVjdCwgdGhpcyk7CiB9CiAKIHZvaWQgU2Nyb2xsVmlldzo6c2V0U2Nyb2xsUG9zaXRpb24o
Y29uc3QgSW50UG9pbnQmIHNjcm9sbFBvaW50KQpAQCAtNTQ0LDYgKzU0NSw4IEBAIEludFJlY3Qg
U2Nyb2xsVmlldzo6Y29udGVudHNUb1NjcmVlbihjb24KIHsKICAgICBpZiAocGxhdGZvcm1XaWRn
ZXQoKSkKICAgICAgICAgcmV0dXJuIHBsYXRmb3JtQ29udGVudHNUb1NjcmVlbihyZWN0KTsKKyAg
ICBpZiAoIWhvc3RXaW5kb3coKSkKKyAgICAgICAgcmV0dXJuIEludFJlY3QoKTsKICAgICByZXR1
cm4gaG9zdFdpbmRvdygpLT53aW5kb3dUb1NjcmVlbihjb250ZW50c1RvV2luZG93KHJlY3QpKTsK
IH0KIApAQCAtNTUxLDYgKzU1NCw4IEBAIEludFBvaW50IFNjcm9sbFZpZXc6OnNjcmVlblRvQ29u
dGVudHMoY28KIHsKICAgICBpZiAocGxhdGZvcm1XaWRnZXQoKSkKICAgICAgICAgcmV0dXJuIHBs
YXRmb3JtU2NyZWVuVG9Db250ZW50cyhwb2ludCk7CisgICAgaWYgKCFob3N0V2luZG93KCkpCisg
ICAgICAgIHJldHVybiBJbnRQb2ludCgpOwogICAgIHJldHVybiB3aW5kb3dUb0NvbnRlbnRzKGhv
c3RXaW5kb3coKS0+c2NyZWVuVG9XaW5kb3cocG9pbnQpKTsKIH0KIApAQCAtNzE3LDcgKzcyMiw4
IEBAIHZvaWQgU2Nyb2xsVmlldzo6cmVwYWludENvbnRlbnRSZWN0YW5nbGUKICAgICAgICAgcmV0
dXJuOwogICAgIH0KIAotICAgIGhvc3RXaW5kb3coKS0+cmVwYWludChjb250ZW50c1RvV2luZG93
KHJlY3QpLCB0cnVlLCBub3cpOworICAgIGlmIChob3N0V2luZG93KCkpCisgICAgICAgIGhvc3RX
aW5kb3coKS0+cmVwYWludChjb250ZW50c1RvV2luZG93KHJlY3QpLCB0cnVlLCBub3cpOwogfQog
CiB2b2lkIFNjcm9sbFZpZXc6OnBhaW50KEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3Qg
SW50UmVjdCYgcmVjdCkKQEAgLTg1Myw2ICs4NTksOCBAQCBib29sIFNjcm9sbFZpZXc6OmlzT2Zm
c2NyZWVuKCkgY29uc3QKIAogdm9pZCBTY3JvbGxWaWV3OjphZGRQYW5TY3JvbGxJY29uKGNvbnN0
IEludFBvaW50JiBpY29uUG9zaXRpb24pCiB7CisgICAgaWYgKCFob3N0V2luZG93KCkpCisgICAg
ICAgIHJldHVybjsKICAgICBtX2RyYXdQYW5TY3JvbGxJY29uID0gdHJ1ZTsgICAgCiAgICAgbV9w
YW5TY3JvbGxJY29uUG9pbnQgPSBJbnRQb2ludChpY29uUG9zaXRpb24ueCgpIC0gcGFuSWNvblNp
emVMZW5ndGggLyAyICwgaWNvblBvc2l0aW9uLnkoKSAtIHBhbkljb25TaXplTGVuZ3RoIC8gMikg
OwogICAgIGhvc3RXaW5kb3coKS0+cmVwYWludChJbnRSZWN0KG1fcGFuU2Nyb2xsSWNvblBvaW50
LCBJbnRTaXplKHBhbkljb25TaXplTGVuZ3RoLHBhbkljb25TaXplTGVuZ3RoKSksIHRydWUsIHRy
dWUpOyAgICAKQEAgLTg2MCw2ICs4NjgsOCBAQCB2b2lkIFNjcm9sbFZpZXc6OmFkZFBhblNjcm9s
bEljb24oY29uc3QgCiAKIHZvaWQgU2Nyb2xsVmlldzo6cmVtb3ZlUGFuU2Nyb2xsSWNvbigpCiB7
CisgICAgaWYgKCFob3N0V2luZG93KCkpCisgICAgICAgIHJldHVybjsKICAgICBtX2RyYXdQYW5T
Y3JvbGxJY29uID0gZmFsc2U7IAogICAgIGhvc3RXaW5kb3coKS0+cmVwYWludChJbnRSZWN0KG1f
cGFuU2Nyb2xsSWNvblBvaW50LCBJbnRTaXplKHBhbkljb25TaXplTGVuZ3RoLCBwYW5JY29uU2l6
ZUxlbmd0aCkpLCB0cnVlLCB0cnVlKTsKIH0KSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDQ0ODg5KQorKysg
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIw
MDktMDYtMTkgIEFsaWNlIExpdSAgPGFsaWNlLmxpdUBhcHBsZS5jb20+CisKKyAgICAgICAgRml4
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNjU2OCAKKyAgICAgICAg
UmVwcm8gY3Jhc2ggYW5pbWF0aW5nIEdJRiBpZiBwcmV2aW91c2x5IHVzZWQgaW4gYSBjbG9zZWQg
d2luZG93J3MgYmFjay9mb3J3YXJkIGxpc3QKKyAgICAgICAgQWxzbyBmaWxlZCBhcyA8cmRhcjov
L3Byb2JsZW0vNjk3ODM2Mj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBBZGRpbmcgcmVzb3VyY2UgdXNlZCBpbiBXZWJDb3JlL21hbnVhbC10ZXN0cy9h
bmltYXRlZC1naWYtYmZjYWNoZS1jcmFzaC5odG1sCisgICAgICAgICogaHR0cC90ZXN0cy9taXNj
L3Jlc291cmNlcy9hbmltYXRlZC1naWYtd2l0aC1vZmZzZXRzLmdpZjogQWRkZWQuCisKIDIwMDkt
MDYtMTkgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQGdvb2dsZS5jb20+CiAKICAgICAgICAgUmV2aWV3
ZWQgYnkgTWFjaWVqIFN0YWNob3dpYWsuCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21p
c2MvcmVzb3VyY2VzL2FuaW1hdGVkLWdpZi13aXRoLW9mZnNldHMuZ2lmCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQ2Fu
bm90IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFzIGEgYmluYXJ5IHR5cGUuCnN2bjptaW1lLXR5cGUg
PSBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0KClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRl
c3RzL2h0dHAvdGVzdHMvbWlzYy9yZXNvdXJjZXMvYW5pbWF0ZWQtZ2lmLXdpdGgtb2Zmc2V0cy5n
aWYKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fXwpOYW1lOiBzdm46bWltZS10eXBlCiAgICsgYXBwbGljYXRpb24vb2N0ZXQt
c3RyZWFtCgoKUjBsR09EbGhaQUJrQVBRU0FCNlEveVdVL2l5WS9ER2IremVmK2o2aitUK2srVTJz
OWtDaytWR3U5Vld4OUYyMTgySzQ4bWU3OFhMQwo3M1hFN25yRzduL0o3SWZPNjRUTTdBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFDSDVCQVFBCkFBQUFJZjhM
VGtWVVUwTkJVRVV5TGpBREFRQUFBQ3dBQUFBQVpBQmtBQUFGL3FBa2ptUnBubWlxcm16cnZuQXN6
M1J0MzNpdTczenYKLzhDZ2NFZ3NHaVVSQnlPQkdBUUEwTUFBa1dBNEpzY3NoRkdBZXI5Z2NJRUJ5
UUloaXJCNkhWYVV6Ym1HZ0UydkF3UU5PRzJ5c1B2dApDMWg2TGd4L2huWU1neXNPVDRlT2JBRU9p
aVlUQjQrWGRBZVRJdytZbm5RUGs0V2ZwR3FKZXBhbHFtQ2FaZ2lyc0Y4RlJ4TUVzYmRRCkJJSkR0
cmk0dWtOZHZyNnpRYW5EdnEwK284akRwenlkemMyaE94UFMxenpIMThQS053N2IxNUk0amVESUFU
ak01Y2pQTTlicTE3c3kKZmUvU0N6WDAyelFOK05kNU1uUDhtZ21RQVNIZ3RUY3YwaGhzcGlER1Ft
d3ZDajVzaHBCRnVvbTQySzBRaHBIWWk0N05YRVFBaVN4QwppMjhrL24ySlczRXg1U3FOS0JLNHhK
V2dCY2VacXhDMEdJQXoxb0FXNUhxV09zZENhS3dXUm1FaFRhb0tLRk5TUkZmd2ZPcnBKNHRYClZE
RVZXeUV6NjZXYUZyMWVnbmtDcGRoREsxVzRPMnZJNUZLMmYxN2NoTXRtYTFpNmRjaWlrSWlYVGNX
aWZkbkVVQmdZVEVNWWZBdDcKK2RzQ29PSTdNL1k5QnVBdnhsckY4V0RNSzJ4dnorUE1NVnF5MVFz
aktOdW9Oc3pDVFd0RG05aHVOeTZMQlcwam1saHFQRVFiSlgzRAp0VkhZUGViMk5FQ2tsMUJnUTJv
ZHp5Szhvd0hhUW54UEJHNUVkMERlUkd3L3hEMUp1cm9EMFBVd3doZHBFd3JyenN5cjNkeXNzM29X
CmNuemhDZi8rQkJwWWJ1clgyTkxjemhqRyt0VXdnUkpNT09HRkZBWlVGT0dBV3dFMjZPQ0RFRVlv
NFlRVVZtaWhCQ0VBQUNINUJBd0IKQUFBQUxDTUFLQUFnQUNBQWd3QUFBQUQvL3dDQUFMSWlJcUJT
TGY4QS8vOEFBQzZMVi8vLy8vLy9BQUFBL3dBQUFBQUFBQUFBQUFBQQpBQUFBQUFUdVVNbEpxNzA0
ZzgxQi90TjJBQ01na0J4b2thVndqSUo3bHFxRWtqR2FIL3NKbHFPRFlRQWdEZ3dHM01ua3dZaEdS
MlB5Cm1Dd2ljYzBLaW1nbFhxblRxelU3Z1VxSGdPc2hJRWFHeVJLak5MQUowTmQyT3Z0dGtaUHNm
M2Q1ZW9CSGNBcEdRWUI0STRNQWVYK0gKVHl3Qkl3a0pCQUNYQ1lHZEY1TUhsNW1YbXB5bG5HdUhO
a0daQktTdm5LNnhwaHF0clFWRUJRQUZ1cHV1R3lBQW1RTkd1TG00dktXcQpLMzY2SE1pN3VqVTJS
aHNJbTZRRDB0TTJ3Z1RmMkp2THdkL2w0ZU1xM3VhazZPbmxzc0RjVHV2dDB4MHA4azczOWZZaCtS
OVorTlhZCkp6QVlNVGNGQVI2czhrOGZ2ZzhSQUFBaCtRUU1BUUFBQUN4QkFEd0FJQUFnQUlJQUFB
Q3lJaUsrdnI3L0FBRC8vLzl3Z0pBQUFBQUEKQUFBRDJ6aTYzUDR3amdCQWtOaUJJa1FCV1Jod0JP
RmRvUkpRRlFvSVpTbUFhbVU1NjFiczl4dWJ0TXJ1YzZ0dGZyTUp5ZlFaYkdDeAp6NFZTS0gyaWw2
Y0hOUG9CckJZZm9VSzRqck8yeVhkY0hZTlp4dzlKNnVTdVMrUnhNV2ZyKy9Wd2ZpZ1JWRHhPWTNV
OGd4aFVNVFo2CmJXVkZHRWR1ZXBDV1RSbDNlQlJubFhnaGQzUmZRWGMwbEcxRnBXcFFTUmtVVUg0
MlVIUWlZaitTZll1d29MbTJLUW9iczVXYXdVNVEKa3BqR3dZMVdSRlhNelU5ZWlzY01mRXZBMThK
VkZURFMzS1ZFb2R3TVFuamw1dDI2NnV0ZlYydW82MWZrQmJ6bVpzTVpDUUFoK1FRTQpBUUFBQUN4
Y0FGQUFJQUFnQUlJQUFBQUEvLzhla1AvLy8vOXdnSkFnc3FvQUFQOEFBQUFEL2ppNjNENEF2QW5s
aWxZQklUTFZIQVlFClJDQnkzY2RzVzBlK1JMc1ozdFRTcklsMWdDSFFLZ2pLZ0FQRWNENE9rTEpE
S1NNaEp6SHlpSlJhUTlvelFwekdNaEZZcjFzVVhUR2wKTXlTZ1NJdGtVQjRNVnBBQUNvR0NnaFFQ
bjBOR0x3V0Rkbm1HUWp4cFlqSUVnNDUyZUpFeWM0cFhVNDZFYTVFbUlXMlVmSmVZa0laMQpJWGw3
aW9TaGo1cUdNcHNMb3F1WmQ2U1RtM215TkpoMXJYaXZwTG1QczcyMWtxYTR2R04zb3I2Y0hadVJ1
c3lzeG5tM2hzS3F1ODBqCm04RFIwOG9RMGRoNDJuWEVoZDhoMGVqTDQySEhMc25pajJDMTRLVDJW
QTVOM3RtVVRlbkhwRjB3Z1V1Q1lBajJqbUNRQzlidTFYaTQKWXNTMWlSU3JPRlNSQVFBQUlma0VE
QUVBQUFBc0tBQlZBQ0FBSUFDQnZyNisvd0FBLzZVQS8vOEFBcmlNanppeHpkL0dTaE5hSjJPVwpx
VCtEWFJ3SFhxYTJwWldubk9KYWh0aW9ibXlGdS9NaDYzWHFBWFFHd2d0Z1JxVHdkQXdha0xXTU1V
blQxNDlhREdTTHhNYVI4ZTJDCmxkSmVwdmtjUnF1UnBmbUZWaDIyY3hBM2pNOWtTK1dUMDBabmNH
Zm5WUWkyOGliemx5WlFaOUFvQ0NKZ09EQTUxdEtuaUhJV3FHVkgKZUJqYWxaUHBVK09aMVNpVXFp
VlcyUlVHdVphSUZzZnA2SG5wbWhmcXhnYXhlS0NhR3pETU5Ya1VDMHYydThuUk9TaktLemJiL0ZN
QQpBRHM9Cgo=
</data>
<flag name="review"
          id="16216"
          type_id="1"
          status="+"
          setter="mjs"
    />
          </attachment>
      

    </bug>

</bugzilla>