<?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>64321</bug_id>
          
          <creation_ts>2011-07-11 15:49:52 -0700</creation_ts>
          <short_desc>Changing url cursor at runtime causes flickering</short_desc>
          <delta_ts>2011-07-30 23:09:01 -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>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Windows XP</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>
          <dependson>65420</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ananta Iyengar">ananta</reporter>
          <assigned_to name="Nate Chapin">japhet</assigned_to>
          <cc>fishd</cc>
    
    <cc>japhet</cc>
    
    <cc>romaxa</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>435251</commentid>
    <comment_count>0</comment_count>
    <who name="Ananta Iyengar">ananta</who>
    <bug_when>2011-07-11 15:49:52 -0700</bug_when>
    <thetext>This bug was originally logged as a Chromium bug. http://code.google.com/p/chromium/issues/detail?id=87488.

The steps copied from the chromium report are as below:-

1. create a custom, animating cursor with a canvas
2. update the cursor w/ document.style.cursor = &apos;url(&apos;+canvas.toDataURL()+&apos;), pointer&apos; (do this repeatedly)
3. notice occasional flickering where the cursor is replaced with the default for a very brief moment before the new custom cursor is rendered.

Some debugging revealed that the flicker happens because the code to set the cursor runs at times before the webkit cursor cache is populated
with the new cursor image. As a result the cursor reverts back to the default pointer cursor for a brief moment, thus causing the flicker.

Ideas from Darin Fisher:- 

1. Webkit could use the previous cursor image while the new cursor is fetched.
2. Data urls could be processed synchronously.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>436527</commentid>
    <comment_count>1</comment_count>
      <attachid>100686</attachid>
    <who name="Nate Chapin">japhet</who>
    <bug_when>2011-07-13 11:01:27 -0700</bug_when>
    <thetext>Created attachment 100686
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>437128</commentid>
    <comment_count>2</comment_count>
      <attachid>100686</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-07-14 09:30:10 -0700</bug_when>
    <thetext>Comment on attachment 100686
patch

Clearing flags on attachment: 100686

Committed r91003: &lt;http://trac.webkit.org/changeset/91003&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>437129</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-07-14 09:30:15 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>444256</commentid>
    <comment_count>4</comment_count>
    <who name="Oleg Romashin (:romaxa)">romaxa</who>
    <bug_when>2011-07-29 22:40:27 -0700</bug_when>
    <thetext>With this fix I see crash in WebKit2 [Qt]

#0  0xb55e880d in WebKit::ShareableBitmap::createQImage (this=0x0)
    at ../../../Source/WebKit2/Shared/qt/ShareableBitmapQt.cpp:42
#1  0xb55e89c1 in WebKit::ShareableBitmap::createGraphicsContext (this=0x0)
    at ../../../Source/WebKit2/Shared/qt/ShareableBitmapQt.cpp:56
#2  0xb55d0692 in CoreIPC::encodeImage (encoder=0xacc28758, image=0x9786a58)
    at ../../../Source/WebKit2/Shared/WebCoreArgumentCoders.cpp:294
#3  0xb55d0927 in CoreIPC::ArgumentCoder&lt;WebCore::Cursor&gt;::encode (
    encoder=0xacc28758, cursor=...)
    at ../../../Source/WebKit2/Shared/WebCoreArgumentCoders.cpp:324
#4  0xb563a720 in CoreIPC::ArgumentEncoder::encode&lt;WebCore::Cursor&gt; (
    this=0xacc28758, t=...)
    at ../../../Source/WebKit2/Platform/CoreIPC/ArgumentEncoder.h:66
#5  0xb563a634 in CoreIPC::Arguments1&lt;WebCore::Cursor const&amp;&gt;::encode (
    this=0xbfd4bf9c, encoder=0xacc28758)
    at ../../../Source/WebKit2/Platform/CoreIPC/Arguments.h:72
#6  0xb563a3b5 in CoreIPC::ArgumentCoder&lt;Messages::WebPageProxy::SetCursor&gt;::encode (encoder=0xacc28758, t=...)
    at ../../../Source/WebKit2/Platform/CoreIPC/ArgumentCoder.h:39
#7  0xb5639ed6 in CoreIPC::ArgumentEncoder::encode&lt;Messages::WebPageProxy::SetCursor&gt; (this=0xacc28758, t=...)
    at ../../../Source/WebKit2/Platform/CoreIPC/ArgumentEncoder.h:66
#8  0xb5638fe8 in CoreIPC::MessageSender&lt;WebKit::WebPage&gt;::send&lt;Messages::WebPageProxy::SetCursor&gt; (this=0xb0c00b10, message=..., destinationID=1)
---Type &lt;return&gt; to continue, or q &lt;return&gt; to quit---
    at ../../../Source/WebKit2/Platform/CoreIPC/MessageSender.h:44
#9  0xb56378f7 in CoreIPC::MessageSender&lt;WebKit::WebPage&gt;::send&lt;Messages::WebPageProxy::SetCursor&gt; (this=0xb0c00b10, message=...)
    at ../../../Source/WebKit2/Platform/CoreIPC/MessageSender.h:38
#10 0xb56352d3 in WebKit::WebChromeClient::setCursor (this=0xb0c00488, 
    cursor=...)
    at ../../../Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.cpp:648
#11 0xb5b0f9b7 in WebCore::Chrome::setCursor (this=0xb0c00fb8, cursor=...)
    at ../../../Source/WebCore/page/Chrome.cpp:487
#12 0xb5dd9d99 in QXmlStreamAttribute::namespaceUri (this=0xbfd4c0a0)
    at /usr/include/qt4/QtCore/qxmlstream.h:148
#13 0xb5b3862f in WebCore::EventHandler::handleMouseReleaseEvent (
    this=0x9668f44, mouseEvent=...)
    at ../../../Source/WebCore/page/EventHandler.cpp:1718
#14 0xb5b37e87 in WebCore::EventHandler::handleMouseMoveEvent (this=0x9668f44, 
    mouseEvent=..., hoveredNode=0xbfd4c178)
    at ../../../Source/WebCore/page/EventHandler.cpp:1636
#15 0xb5578f14 in WebKit::handleMouseEvent (mouseEvent=..., page=0xb0c00f00)
    at ../../../Source/WebKit2/WebProcess/WebPage/WebPage.cpp:1053
#16 0xb5579034 in WebKit::WebPage::mouseEvent (this=0xb0c00b10, mouseEvent=...)
    at ../../../Source/WebKit2/WebProcess/WebPage/WebPage.cpp:1079
#17 0xb559f779 in CoreIPC::callMemberFunction&lt;WebKit::WebPage, void (WebKit::Web---Type &lt;return&gt; to continue, or q &lt;return&gt; to quit---
Page::*)(WebKit::WebMouseEvent const&amp;), WebKit::WebMouseEvent&gt; (args=..., 
    object=0xb0c00b10, function=
    (void (WebKit::WebPage::*)(WebKit::WebPage *, const WebKit::WebMouseEvent &amp;)) 0xb5578f60 &lt;WebKit::WebPage::mouseEvent(WebKit::WebMouseEvent const&amp;)&gt;)
    at ../../../Source/WebKit2/Platform/CoreIPC/HandleMessage.h:19
#18 0xb559d553 in CoreIPC::handleMessage&lt;Messages::WebPage::MouseEvent, WebKit::WebPage, void (WebKit::WebPage::*)(WebKit::WebMouseEvent const&amp;)&gt; (
    argumentDecoder=0x9a18628, object=0xb0c00b10, function=
    (void (WebKit::WebPage::*)(WebKit::WebPage *, const WebKit::WebMouseEvent &amp;)) 0xb5578f60 &lt;WebKit::WebPage::mouseEvent(WebKit::WebMouseEvent const&amp;)&gt;)
    at ../../../Source/WebKit2/Platform/CoreIPC/HandleMessage.h:277
#19 0xb559be44 in WebKit::WebPage::didReceiveWebPageMessage (this=0xb0c00b10, 
    messageID=..., arguments=0x9a18628)
    at generated/WebPageMessageReceiver.cpp:104
#20 0xb557d00f in WebKit::WebPage::didReceiveMessage (this=0xb0c00b10, 
    connection=0x963a528, messageID=..., arguments=0x9a18628)
    at ../../../Source/WebKit2/WebProcess/WebPage/WebPage.cpp:2086
#21 0xb558950b in WebKit::WebProcess::didReceiveMessage (this=0x963a190, 
    connection=0x963a528, messageID=..., arguments=0x9a18628)
    at ../../../Source/WebKit2/WebProcess/WebProcess.cpp:641
#22 0xb55b80bc in CoreIPC::Connection::dispatchMessage (this=0x963a528, 
    message=...) at ../../../Source/WebKit2/Platform/CoreIPC/Connection.cpp:677
#23 0xb55b8265 in CoreIPC::Connection::dispatchMessages (this=0x963a528)
---Type &lt;return&gt; to continue, or q &lt;return&gt; to quit---
    at ../../../Source/WebKit2/Platform/CoreIPC/Connection.cpp:704
#24 0xb55c0a21 in MemberFunctionWorkItem0&lt;CoreIPC::Connection&gt;::execute (
    this=0x99f6c10) at ../../../Source/WebKit2/Platform/WorkItem.h:79
#25 0xb54be18d in RunLoop::performWork (this=0x9638048)
    at ../../../Source/WebKit2/Platform/RunLoop.cpp:63
#26 0xb54bf164 in RunLoop::TimerObject::performWork (this=0x9525840)
    at ../../../Source/WebKit2/Platform/qt/RunLoopQt.cpp:49
#27 0xb54bfc16 in RunLoop::TimerObject::qt_metacall (this=0x9525840, 
    _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0x98f49d8)
    at ./RunLoopQt.moc:71
#28 0xb2a36e4d in QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) () from /usr/lib/libQtCore.so.4
#29 0xb2a41795 in QMetaCallEvent::placeMetaCall(QObject*) ()
   from /usr/lib/libQtCore.so.4
#30 0xb2a48caf in QObject::event(QEvent*) () from /usr/lib/libQtCore.so.4
#31 0xb2e090a4 in QApplicationPrivate::notify_helper(QObject*, QEvent*) ()
   from /usr/lib/libQtGui.so.4
#32 0xb2e0e432 in QApplication::notify(QObject*, QEvent*) ()
   from /usr/lib/libQtGui.so.4
#33 0xb2a30a9e in QCoreApplication::notifyInternal(QObject*, QEvent*) ()
   from /usr/lib/libQtCore.so.4
#34 0xb2a34264 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/libQtCore.so.4</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>444257</commentid>
    <comment_count>5</comment_count>
    <who name="Oleg Romashin (:romaxa)">romaxa</who>
    <bug_when>2011-07-29 22:44:29 -0700</bug_when>
    <thetext>crash is happening on maps.google.com... by reverting this fix, don&apos;t see any flickering..

Should I add check for NULL somewhere in WebKit2 code(in new bug) or do something with this bug?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>444376</commentid>
    <comment_count>6</comment_count>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2011-07-30 21:52:52 -0700</bug_when>
    <thetext>Looks like CoreIPC::encodeImage may need a null check.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>444385</commentid>
    <comment_count>7</comment_count>
    <who name="Oleg Romashin (:romaxa)">romaxa</who>
    <bug_when>2011-07-30 23:09:01 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; Looks like CoreIPC::encodeImage may need a null check.

Patches attached in new bug:
https://bugs.webkit.org/show_bug.cgi?id=65420</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>100686</attachid>
            <date>2011-07-13 11:01:27 -0700</date>
            <delta_ts>2011-07-14 09:30:10 -0700</delta_ts>
            <desc>patch</desc>
            <filename>cursor.txt</filename>
            <type>text/plain</type>
            <size>3527</size>
            <attacher name="Nate Chapin">japhet</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDkwOTMyKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTEtMDctMTMgIE5hdGUgQ2hh
cGluICA8amFwaGV0QGNocm9taXVtLm9yZz4KKworICAgICAgICBEb24ndCBza2lwIGN1c3RvbSBj
dXJzb3JzIGlmIGFuIEltYWdlKiBpcyBudWxsLAorICAgICAgICBzaW5jZSB0aGlzIGNhbiBsZWFk
IHRvIGEgbm9uLWN1c3RvbSBDdXJzb3IgZmxpY2tlcmluZyAKKyAgICAgICAgYmFjayBpbiB3aGVu
IHRoZSBjdXN0b20gY3Vyc29yIGhhc24ndCBmaW5pc2hlZCBsb2FkaW5nIHlldC4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY0MzIxCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTWFudWFsIHRlc3QsIHNpbmNl
IHdlJ3JlIHRlc3RpbmcgdmlzdWFsIGZsaWNrZXJpbmcuCisKKyAgICAgICAgKiBtYW51YWwtdGVz
dHMvY2FudmFzLWN1cnNvci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwYWdlL0V2ZW50SGFuZGxl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OnNlbGVjdEN1cnNvcik6Cisg
ICAgICAgICogcGxhdGZvcm0vQ3Vyc29yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmRldGVybWlu
ZUhvdFNwb3QpOgorCiAyMDExLTA3LTEyICBEbWl0cnkgTG9tb3YgIDxkc2xvbW92QGdvb2dsZS5j
b20+CiAKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYz
MDQxCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCShyZXZpc2lvbiA5MDQ3
MCkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMTIwNCw4ICsxMjA0LDYgQEAKICAgICAgICAgICAgIEludFNpemUgc2l6ZSA9IGNpbWFn
ZS0+aW1hZ2UoKS0+c2l6ZSgpOwogICAgICAgICAgICAgaWYgKHNpemUud2lkdGgoKSA+IDEyOCB8
fCBzaXplLmhlaWdodCgpID4gMTI4KQogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAg
ICAgICAgaWYgKGNpbWFnZS0+aW1hZ2UoKS0+aXNOdWxsKCkpCi0gICAgICAgICAgICAgICAgYnJl
YWs7CiAgICAgICAgICAgICBpZiAoIWNpbWFnZS0+ZXJyb3JPY2N1cnJlZCgpKQogICAgICAgICAg
ICAgICAgIHJldHVybiBDdXJzb3IoY2ltYWdlLT5pbWFnZSgpLCBob3RTcG90KTsKICAgICAgICAg
fQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ3Vyc29yLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9DdXJzb3IuY3BwCShyZXZpc2lvbiA5MDQ3MCkKKysr
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0N1cnNvci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMy
LDYgKzMyLDkgQEAKIAogSW50UG9pbnQgZGV0ZXJtaW5lSG90U3BvdChJbWFnZSogaW1hZ2UsIGNv
bnN0IEludFBvaW50JiBzcGVjaWZpZWRIb3RTcG90KQogeworICAgIGlmIChpbWFnZS0+aXNOdWxs
KCkpCisgICAgICAgIHJldHVybiBJbnRQb2ludCgpOworCiAgICAgLy8gSG90IHNwb3QgbXVzdCBi
ZSBpbnNpZGUgY3Vyc29yIHJlY3RhbmdsZS4KICAgICBJbnRSZWN0IGltYWdlUmVjdCA9IGltYWdl
LT5yZWN0KCk7CiAgICAgaWYgKGltYWdlUmVjdC5jb250YWlucyhzcGVjaWZpZWRIb3RTcG90KSkK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL21hbnVhbC10ZXN0cy9jYW52YXMtY3Vyc29yLmh0bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvbWFudWFsLXRlc3RzL2NhbnZhcy1jdXJzb3IuaHRt
bAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9XZWJDb3JlL21hbnVhbC10ZXN0cy9jYW52YXMtY3Vy
c29yLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNDEgQEAKKzxodG1sPgorPGJvZHk+CitU
aGlzIGlzIGEgdGVzdCBvZiBvdXIgYWJpbGl0eSB0byBjb252ZXJ0IGEgY2FudmFzIHRvIGEgZGF0
YSB1cmwgYW5kIHVzZSBpdCBhcyBhIGN1cnNvci4gV2UgcGFzcyBpZiB0aGUgY3Vyc29yIGFuaW1h
dGVzIHNtb290aGx5IGFuZCB3aXRob3V0IGZsaWNrZXJpbmcuPGJyPgorU2VlIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NDMyMS4KKzxjYW52YXMgaWQ9ImMiIHdpZHRo
PSI0MCIgaGVpZ2h0PSI0MCI+PC9jYW52YXM+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlw
dCI+Cit2YXIgaWNvbiA9IG5ldyBJbWFnZTsKK2ljb24uc3JjID0gJ3Jlc291cmNlcy9kcmFnLWlt
YWdlLnBuZycKKworZnVuY3Rpb24gZHJhd0Fycm93KGFuZ2xlKSB7CisgICAgdmFyIGNhbnZhcyA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjJyk7CisgICAgY2FudmFzLndpZHRoID0gY2FudmFz
LndpZHRoIC8vIHJlc2V0IGNhbnZhcworICAgIHZhciBjdHggPSBjYW52YXMuZ2V0Q29udGV4dCgn
MmQnKTsKKworICAgIGN0eC50cmFuc2xhdGUoY3R4LmNhbnZhcy53aWR0aCAvIDIsIGN0eC5jYW52
YXMuaGVpZ2h0IC8gMik7CisgICAgY3R4LnJvdGF0ZShhbmdsZSk7CisgICAgY3R4LmRyYXdJbWFn
ZShpY29uLCAtaWNvbi53aWR0aCAvIDIsIC1pY29uLmhlaWdodCAvIDIpOworCisgICAgdmFyIHgg
PSAyMDsvL01hdGguZmxvb3IoTWF0aC5jb3MoYW5nbGUpICogaWNvbi53aWR0aCAvIDIpICsgaWNv
bi53aWR0aCAvIDI7CisgICAgdmFyIHkgPSAyMDsvL01hdGguZmxvb3IoTWF0aC5zaW4oYW5nbGUp
ICogaWNvbi53aWR0aCAvIDIpICsgaWNvbi53aWR0aCAvIDI7CisKKyAgICB2YXIgZGF0YSA9IGNh
bnZhcy50b0RhdGFVUkwoKTsKKyAgICBpZiAoZGF0YSkKKyAgICAgICAgZG9jdW1lbnQuYm9keS5z
dHlsZS5jdXJzb3IgPSAndXJsKCcrZGF0YSsnKSAnICsgeCArICcgJyArIHkgKyAnLCBwb2ludGVy
JzsKKyAgICBlbHNlCisgICAgICAgIGNvbnNvbGUubG9nKCdmYWlsdXJlJyk7Cit9CisKKyhmdW5j
dGlvbigpIHsKKyAgICB2YXIgYW5nbGUgPSAwOworICAgIHZhciBydW4gPSBmdW5jdGlvbigpIHsK
KyAgICAgICAgYW5nbGUgKz0gTWF0aC5QSSAvIDE2OworICAgICAgICBkcmF3QXJyb3coYW5nbGUp
OworICAgICAgICBzZXRUaW1lb3V0KHJ1biwgMTAwKTsKKyAgICB9OworICAgIHJ1bigpOworfSko
KTsKKyAgICBkcmF3QXJyb3coKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>